Skip to content

錄音

startRecord

TIP

該API使用方法為: wx.startRecord(Object object)

  • 功能說明: 開始錄音。 當主動調用 wx.stopRecord ,或者錄音超過1分鐘時自動結束錄音。 當用戶離開小程序時,此接口無法調用。

  • 參數及說明: Object object

    内容類型預設值必填說明
    successFunction-接口調用成功的回呼函數
    failFunction-接口調用失敗的回呼函數
    completeFunction-接口調用結束的回呼函數(無論成功與否都執行)
  • object.success回呼函數參數: Object res。

    内容類型說明
    tempFilePathstring錄音文件的臨時路徑(本地路徑)
  • 示例代碼:

js
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

    内容類型預設值必填說明
    successFunction-接口調用成功的回呼函數
    failFunction-接口調用失敗的回呼函數
    completeFunction-接口調用結束的回呼函數(無論成功與否都執行)
  • 示例代碼:

js
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參數。
    内容類型說明
    errMsgstring錯誤資訊

.onFrameRecorded

TIP

該API使用方法為: RecorderManager.onFrameRecorded(function listener)

  • 功能說明: 監聽已錄製完指定幀大小的文件事件。 如果設定了frameSize,則會回檔此事件。
  • 參數及說明: function listener, 已錄製完指定幀大小的文件事件的監聽函數,Object res參數。
    内容類型說明
    frameBufferArrayBuffer錄音分片數據
    isLastFrameboolean當前幀是否正常錄音結束前的最後一幀

.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參數。

    内容類型說明
    tempFilePathstring錄音文件的臨時路徑(本地路徑)
    durationnumber錄音總時長,單位: ms
    fileSizenumber錄音文件大小,單位: Byte

.pause

TIP

該API使用方法為: RecorderManager.pause()

  • 功能說明: 暫停錄音。

.resume

TIP

該API使用方法為: RecorderManager.resume()

  • 功能說明: 繼續錄音。

.start

TIP

該API使用方法為: RecorderManager.start(Object object)

  • 功能說明: 開始錄音

  • 參數及說明: Object object

    内容類型預設值必填說明
    durationnumber60000錄音的時長,單位ms,最大值600000(10分鐘)
    sampleRatenumber80000取樣速率(pc不支持)
    numberOfChannelsnumber2錄音通道數
    encodeBitRatenumber48000編碼碼率,有效值見下表格
    formatstringaac音訊格式
    frameSizenumber-指定幀大小,單位KB,傳入frameSize後,每錄製指定幀大小的內容後,會回檔錄製的文件內容,不指定則不會回檔,暫僅支持mp3、pcm格式
    audioSourcestringauto指定錄音的音訊輸入源
  • object.numberOfChannels的合法值

    合法值說明
    11個通道
    22個通道
  • object.format的合法值

    合法值說明
    mp3mp3格式
    aacaac格式
    wavwav格式
    PCMpcm格式
  • object.audioSource的合法值

    合法值說明
    auto自動設定,默認使用手機麥克風,插上耳麥後自動切換使用耳機麥克風,所有平臺適用
    buildInMic手機麥克風,僅限iOS
    headsetMic有線耳機麥克風,僅限iOS
    mic麥克風(沒插耳麥時是手機麥克風,插耳麥時是耳機麥克風),僅限Android
    camcorder同mic,適用於錄製音視頻內容,僅限Android
    voice_communication同mic,適用於即時溝通,僅限Android
    voice_recognition同mic,適用於語音辨識,僅限Android
  • 取樣速率與編碼碼率限制

    每種取樣速率有對應的編碼碼率範圍有效值,設定不合法的取樣速率或編碼碼率會導致錄音失敗,具體對應關係如下表。

    取樣速率編碼碼率
    800016000 ~ 48000
    1102516000 ~ 48000
    1200024000 ~ 64000
    1600024000 ~ 96000
    2205032000 ~ 128000
    2400032000 ~ 128000
    3200048000 ~ 192000
    4410064000 ~ 320000
    4800064000 ~ 320000

.stop

TIP

該API使用方法為: RecorderManager.stop()

  • 功能說明: 停止錄音