W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
全局唯一的錄音管理器
監(jiān)聽錄音錯(cuò)誤事件
錄音錯(cuò)誤事件的回調(diào)函數(shù)
屬性 | 類型 | 說明 |
---|---|---|
errMsg | string | 錯(cuò)誤信息 |
監(jiān)聽已錄制完指定幀大小的文件事件。如果設(shè)置了 frameSize,則會(huì)回調(diào)此事件。
已錄制完指定幀大小的文件事件的兼容處理。
屬性 | 類型 | 說明 |
---|---|---|
frameBuffer | ArrayBuffer | 錄音分片數(shù)據(jù) |
isLastFrame | boolean | 當(dāng)前幀是否正常錄音結(jié)束前的最后一幀 |
基礎(chǔ)庫 2.3.0 開始支持,低版本需做兼容處理。
監(jiān)聽錄音因?yàn)槭艿较到y(tǒng)占用而被中斷開始事件。以下場(chǎng)景會(huì)觸發(fā)此事件:微信語音聊天、微信視頻聊天。此事件觸發(fā)后,錄音會(huì)被暫停。pause 事件在此事件后觸發(fā)
錄音因?yàn)槭艿较到y(tǒng)占用而被中斷開始事件的回調(diào)函數(shù)
基礎(chǔ)庫 2.3.0 開始支持,低版本需做兼容處理。
監(jiān)聽錄音中斷結(jié)束事件。在收到 interruptionBegin 事件之后,小程序內(nèi)所有錄音會(huì)暫停,收到此事件之后才可再次錄音成功。
錄音中斷結(jié)束事件的回調(diào)函數(shù)
監(jiān)聽錄音暫停事件
錄音暫停事件的回調(diào)函數(shù)
監(jiān)聽錄音繼續(xù)事件
錄音繼續(xù)事件的回調(diào)函數(shù)
監(jiān)聽錄音開始事件
錄音開始事件的回調(diào)函數(shù)
監(jiān)聽錄音結(jié)束事件
錄音結(jié)束事件的回調(diào)函數(shù)
屬性 | 類型 | 說明 |
---|---|---|
tempFilePath | string | 錄音文件的臨時(shí)路徑 (本地路徑) |
duration | number | 錄音總時(shí)長,單位:ms |
fileSize | number | 錄音文件大小,單位:Byte |
暫停錄音
繼續(xù)錄音
開始錄音
屬性 | 類型 | 默認(rèn)值 | 必填 | 說明 | 最低版本 |
---|---|---|---|---|---|
duration | number | 60000 | 否 | 錄音的時(shí)長,單位 ms,最大值 600000(10 分鐘) | |
sampleRate | number | 8000 | 否 | 采樣率 | |
numberOfChannels | number | 2 | 否 | 錄音通道數(shù) | |
encodeBitRate | number | 48000 | 否 | 編碼碼率,有效值見下表格 | |
format | string | aac | 否 | 音頻格式 | |
frameSize | number | 否 | 指定幀大小,單位 KB。傳入 frameSize 后,每錄制指定幀大小的內(nèi)容后,會(huì)回調(diào)錄制的文件內(nèi)容,不指定則不會(huì)回調(diào)。暫僅支持 mp3 格式。 | ||
audioSource | string | auto | 否 | 指定錄音的音頻輸入源,可通過 wx.getAvailableAudioSources() 獲取當(dāng)前可用的音頻源 | 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 個(gè)通道 | |
2 | 2 個(gè)通道 |
object.format 的合法值
值 | 說明 | 最低版本 |
---|---|---|
mp3 | mp3 格式 | |
aac | aac 格式 | |
wav | wav 格式 | |
PCM | pcm 格式 |
object.audioSource 的合法值
值 | 說明 | 最低版本 |
---|---|---|
auto | 自動(dòng)設(shè)置,默認(rèn)使用手機(jī)麥克風(fēng),插上耳麥后自動(dòng)切換使用耳機(jī)麥克風(fēng),所有平臺(tái)適用 | |
buildInMic | 手機(jī)麥克風(fēng),僅限 iOS | |
headsetMic | 耳機(jī)麥克風(fēng),僅限 iOS | |
mic | 麥克風(fēng)(沒插耳麥時(shí)是手機(jī)麥克風(fēng),插耳麥時(shí)是耳機(jī)麥克風(fēng)),僅限 Android | |
camcorder | 同 mic,適用于錄制音視頻內(nèi)容,僅限 Android | |
voice_communication | 同 mic,適用于實(shí)時(shí)溝通,僅限 Android | |
voice_recognition | 同 mic,適用于語音識(shí)別,僅限 Android |
每種采樣率有對(duì)應(yīng)的編碼碼率范圍有效值,設(shè)置不合法的采樣率或編碼碼率會(huì)導(dǎo)致錄音失敗,具體對(duì)應(yīng)關(guān)系如下表。
采樣率 | 編碼碼率 |
---|---|
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 |
停止錄音
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)
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: