錄音
startRecord
TIP
該API使用方法為: wx.startRecord(Object object)
功能說明: 開始錄音。 當主動調用 wx.stopRecord ,或者錄音超過1分鐘時自動結束錄音。 當用戶離開小程序時,此接口無法調用。
參數及說明: Object object
内容 類型 預設值 必填 說明 success Function - 否 接口調用成功的回呼函數 fail Function - 否 接口調用失敗的回呼函數 complete Function - 否 接口調用結束的回呼函數(無論成功與否都執行) object.success回呼函數參數: Object res。
内容 類型 說明 tempFilePath string 錄音文件的臨時路徑(本地路徑) 示例代碼:
wx.startRecord({
success (res) {
const tempFilePath = res.tempFilePath
}
})
setTimeout(function () {
wx.stopRecord() // Stop audio recording
}, 10000)stopRecord
TIP
該API使用方法為: wx.stopRecord(Object object)
功能說明: 停止錄音
參數及說明: Object object
内容 類型 預設值 必填 說明 success Function - 否 接口調用成功的回呼函數 fail Function - 否 接口調用失敗的回呼函數 complete Function - 否 接口調用結束的回呼函數(無論成功與否都執行) 示例代碼:
wx.startRecord({
success (res) {
const tempFilePath = res.tempFilePath
}
})
setTimeout(function () {
wx.stopRecord() // Stop audio recording
}, 10000)getRecorderManager
TIP
該API使用方法為: RecorderManager wx.getRecorderManager()
- 功能說明: 獲取全域唯一的錄音管理器RecorderManager。
- 返回值: RecorderManager。
RecorderManager
.onError
TIP
該API使用方法為: RecorderManager.onError(function listener)
- 功能說明: 監聽錄音錯誤事件。
- 參數及說明: function listener, 錄音錯誤事件的監聽函數,Object res參數。
内容 類型 說明 errMsg string 錯誤資訊
.onFrameRecorded
TIP
該API使用方法為: RecorderManager.onFrameRecorded(function listener)
- 功能說明: 監聽已錄製完指定幀大小的文件事件。 如果設定了frameSize,則會回檔此事件。
- 參數及說明: function listener, 已錄製完指定幀大小的文件事件的監聽函數,Object res參數。
内容 類型 說明 frameBuffer ArrayBuffer 錄音分片數據 isLastFrame boolean 當前幀是否正常錄音結束前的最後一幀
.onInterruptionBegin
TIP
該API使用方法為: RecorderManager.onInterruptionBegin(function listener)
- 功能說明: 監聽錄音因為受到系統佔用而被中斷開始事件。 以下場景會觸發此事件:Luffa語音聊天、Luffa視頻聊天。 此事件觸發後,錄音會被暫停。 pause事件在此事件後觸發。
- 參數及說明: function listener, 錄音因為受到系統佔用而被中斷開始事件的監聽函數。
.onInterruptionEnd
TIP
該API使用方法為: RecorderManager.onInterruptionEnd(function listener)
- 功能說明: 監聽錄音中斷結束事件。 在收到interruptionBegin事件之後,小程序內所有錄音會暫停,收到此事件之後才可再次錄音成功。
- 參數及說明: function listener, 錄音中斷結束事件的監聽函數。
.onPause
TIP
該API使用方法為: RecorderManager.onPause(function listener)
- 功能說明: 監聽錄音暫停事件。
- 參數及說明: function listener, 錄音暫停事件的監聽函數。
.onResume
TIP
該API使用方法為: RecorderManager.onResume(function listener)
- 功能說明: 監聽錄音繼續事件。
- 參數及說明: function listener, 錄音繼續事件的監聽函數。
.onStart
TIP
該API使用方法為: RecorderManager.start(Object object)
- 功能說明: 監聽錄音開始事件。
- 參數及說明: function listener, 錄音開始事件的監聽函數。
.onStop
TIP
該API使用方法為: RecorderManager.onStop(function listener)
功能說明: 監聽錄音結束事件。
參數及說明: function listener, 錄音結束事件的監聽函數。 Object res參數。
内容 類型 說明 tempFilePath string 錄音文件的臨時路徑(本地路徑) duration number 錄音總時長,單位: ms fileSize number 錄音文件大小,單位: Byte
.pause
TIP
該API使用方法為: RecorderManager.pause()
- 功能說明: 暫停錄音。
.resume
TIP
該API使用方法為: RecorderManager.resume()
- 功能說明: 繼續錄音。
.start
TIP
該API使用方法為: RecorderManager.start(Object object)
功能說明: 開始錄音
參數及說明: Object object
内容 類型 預設值 必填 說明 duration number 60000 否 錄音的時長,單位ms,最大值600000(10分鐘) sampleRate number 80000 否 取樣速率(pc不支持) numberOfChannels number 2 否 錄音通道數 encodeBitRate number 48000 否 編碼碼率,有效值見下表格 format string aac 否 音訊格式 frameSize number - 否 指定幀大小,單位KB,傳入frameSize後,每錄製指定幀大小的內容後,會回檔錄製的文件內容,不指定則不會回檔,暫僅支持mp3、pcm格式 audioSource string auto 否 指定錄音的音訊輸入源 object.numberOfChannels的合法值
合法值 說明 1 1個通道 2 2個通道 object.format的合法值
合法值 說明 mp3 mp3格式 aac aac格式 wav wav格式 PCM pcm格式 object.audioSource的合法值
合法值 說明 auto 自動設定,默認使用手機麥克風,插上耳麥後自動切換使用耳機麥克風,所有平臺適用 buildInMic 手機麥克風,僅限iOS headsetMic 有線耳機麥克風,僅限iOS mic 麥克風(沒插耳麥時是手機麥克風,插耳麥時是耳機麥克風),僅限Android camcorder 同mic,適用於錄製音視頻內容,僅限Android voice_communication 同mic,適用於即時溝通,僅限Android voice_recognition 同mic,適用於語音辨識,僅限Android 取樣速率與編碼碼率限制
每種取樣速率有對應的編碼碼率範圍有效值,設定不合法的取樣速率或編碼碼率會導致錄音失敗,具體對應關係如下表。
取樣速率 編碼碼率 8000 16000 ~ 48000 11025 16000 ~ 48000 12000 24000 ~ 64000 16000 24000 ~ 96000 22050 32000 ~ 128000 24000 32000 ~ 128000 32000 48000 ~ 192000 44100 64000 ~ 320000 48000 64000 ~ 320000
.stop
TIP
該API使用方法為: RecorderManager.stop()
- 功能說明: 停止錄音