新聞中心
RecorderManager
全局唯一的錄音管理器

成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供潯陽網(wǎng)站建設、潯陽做網(wǎng)站、潯陽網(wǎng)站設計、潯陽網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、潯陽企業(yè)網(wǎng)站模板建站服務,十載潯陽做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。
方法:
RecorderManager.onError(function callback)
監(jiān)聽錄音錯誤事件
參數(shù)
function callback
錄音錯誤事件的回調函數(shù)
參數(shù)
Object res
| 屬性 | 類型 | 說明 |
|---|---|---|
| errMsg | string | 錯誤信息 |
RecorderManager.onFrameRecorded(function callback)
監(jiān)聽已錄制完指定幀大小的文件事件。如果設置了 frameSize,則會回調此事件。
參數(shù)
function callback
已錄制完指定幀大小的文件事件的兼容處理。
參數(shù)
Object res
| 屬性 | 類型 | 說明 |
|---|---|---|
| frameBuffer | ArrayBuffer | 錄音分片數(shù)據(jù) |
| isLastFrame | boolean | 當前幀是否正常錄音結束前的最后一幀 |
RecorderManager.onInterruptionBegin(function callback)
基礎庫 2.3.0 開始支持,低版本需做 兼容處理。
監(jiān)聽錄音因為受到系統(tǒng)占用而被中斷開始事件。以下場景會觸發(fā)此事件:微信語音聊天、微信視頻聊天。此事件觸發(fā)后,錄音會被暫停。pause 事件在此事件后觸發(fā)
參數(shù)
function callback
錄音因為受到系統(tǒng)占用而被中斷開始事件的回調函數(shù)
RecorderManager.onInterruptionEnd(function callback)
基礎庫 2.3.0 開始支持,低版本需做 兼容處理。
監(jiān)聽錄音中斷結束事件。在收到 interruptionBegin 事件之后,小程序內所有錄音會暫停,收到此事件之后才可再次錄音成功。
參數(shù)
function callback
錄音中斷結束事件的回調函數(shù)
RecorderManager.onPause(function callback)
監(jiān)聽錄音暫停事件
參數(shù)
function callback
錄音暫停事件的回調函數(shù)
RecorderManager.onResume(function callback)
監(jiān)聽錄音繼續(xù)事件
參數(shù)
function callback
錄音繼續(xù)事件的回調函數(shù)
RecorderManager.onStart(function callback)
監(jiān)聽錄音開始事件
參數(shù)
function callback
錄音開始事件的回調函數(shù)
RecorderManager.onStop(function callback)
監(jiān)聽錄音結束事件
參數(shù)
function callback
錄音結束事件的回調函數(shù)
參數(shù)
Object res
| 屬性 | 類型 | 說明 |
|---|---|---|
| tempFilePath | string | 錄音文件的臨時路徑 (本地路徑) |
| duration | number | 錄音總時長,單位:ms |
| fileSize | number | 錄音文件大小,單位:Byte |
RecorderManager.pause()
暫停錄音
RecorderManager.resume()
繼續(xù)錄音
RecorderManager.start(Object object)
開始錄音
參數(shù)
Object object
| 屬性 | 類型 | 默認值 | 必填 | 說明 | 最低版本 |
|---|---|---|---|---|---|
| duration | number | 60000 | 否 | 錄音的時長,單位 ms,最大值 600000(10 分鐘) | |
| sampleRate | number | 8000 | 否 | 采樣率 | |
| numberOfChannels | number | 2 | 否 | 錄音通道數(shù) | |
| encodeBitRate | number | 48000 | 否 | 編碼碼率,有效值見下表格 | |
| format | string | aac | 否 | 音頻格式 | |
| frameSize | number | 否 | 指定幀大小,單位 KB。傳入 frameSize 后,每錄制指定幀大小的內容后,會回調錄制的文件內容,不指定則不會回調。暫僅支持 mp3 格式。 | ||
| audioSource | string | auto | 否 | 指定錄音的音頻輸入源,可通過 wx.getAvailableAudioSources() 獲取當前可用的音頻源 | 2.1.0 |
object.sampleRate 的合法值
| 值 | 說明 | 最低版本 |
|---|---|---|
| 8000 | 8000 采樣率 | |
| 11025 | 11025 采樣率 | |
| 12000 | 12000 采樣率 | |
| 16000 | 16000 采樣率 | |
| 22050 | 22050 采樣率 | |
| 24000 | 24000 采樣率 | |
| 32000 | 32000 采樣率 | |
| 44100 | 44100 采樣率 | |
| 48000 | 48000 采樣率 |
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 |
RecorderManager.stop()
停止錄音
示例代碼
const recorderManager = wx.getRecorderManager()
recorderManager.onStart(() => {
console.log('recorder start')
})
recorderManager.onPause(() => {
console.log('recorder pause')
})
recorderManager.onStop((res) => {
console.log('recorder stop', res)
const { tempFilePath } = res
})
recorderManager.onFrameRecorded((res) => {
const { frameBuffer } = res
console.log('frameBuffer.byteLength', frameBuffer.byteLength)
})
const options = {
duration: 10000,
sampleRate: 44100,
numberOfChannels: 1,
encodeBitRate: 192000,
format: 'aac',
frameSize: 50
}
recorderManager.start(options)
網(wǎng)站欄目:創(chuàng)新互聯(lián)小程序教程:微信小程序API錄音·錄音管理器
文章網(wǎng)址:http://fisionsoft.com.cn/article/coddoge.html


咨詢
建站咨詢
