您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了小程序中如何使用wx.getRecorderManager,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶大家一起來研究并學(xué)習(xí)一下“小程序中如何使用wx.getRecorderManager”這篇文章吧。
基礎(chǔ)庫 1.6.0 開始支持,低版本需做兼容處理
獲取全局唯一的錄音管理器 recorderManager
。
recorderManager 對象的方法列表:
方法 | 參數(shù) | 說明 |
---|---|---|
start | options | 開始錄音 |
pause | 暫停錄音 | |
resume | 繼續(xù)錄音 | |
stop | 停止錄音 | |
onStart | callback | 錄音開始事件 |
onPause | callback | 錄音暫停事件 |
onStop | callback | 錄音停止事件,會回調(diào)文件地址 |
onFrameRecorded | callback | 已錄制完指定幀大小的文件,會回調(diào)錄音分片結(jié)果數(shù)據(jù)。如果設(shè)置了 frameSize ,則會回調(diào)此事件 |
onError | callback | 錄音錯誤事件, 會回調(diào)錯誤信息 |
start(options) 說明:
屬性 | 類型 | 必填 | 說明 |
---|---|---|---|
duration | Number | 否 | 指定錄音的時長,單位 ms ,如果傳入了合法的 duration ,在到達(dá)指定的 duration 后會自動停止錄音,最大值 600000(10 分鐘),默認(rèn)值 60000(1 分鐘) |
sampleRate | Number | 否 | 采樣率,有效值 8000/16000/44100 |
numberOfChannels | Number | 否 | 錄音通道數(shù),有效值 1/2 |
encodeBitRate | Number | 否 | 編碼碼率,有效值見下表格 |
format | String | 否 | 音頻格式,有效值 aac/mp3 |
frameSize | Number | 否 | 指定幀大小,單位 KB。傳入 frameSize 后,每錄制指定幀大小的內(nèi)容后,會回調(diào)錄制的文件內(nèi)容,不指定則不會回調(diào)。暫僅支持 mp3 格式。 |
其中,采樣率和碼率有一定要求,具體有效值如下:
采樣率 | 編碼碼率 |
---|---|
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 |
onStop(callback) 回調(diào)結(jié)果說明:
屬性 | 類型 | 說明 |
---|---|---|
tempFilePath | String | 錄音文件的臨時路徑 |
onFrameRecorded(callback) 回調(diào)結(jié)果說明:
屬性 | 類型 | 說明 |
---|---|---|
frameBuffer | ArrayBuffer | 錄音分片結(jié)果數(shù)據(jù) |
isLastFrame | Boolean | 當(dāng)前幀是否正常錄音結(jié)束前的最后一幀 |
onError(callback) 回調(diào)結(jié)果說明:
屬性 | 類型 | 說明 |
---|---|---|
errMsg | String | 錯誤信息 |
示例代碼:
const recorderManager = wx.getRecorderManager() recorderManager.onStart(() => { console.log('recorder start') }) recorderManager.onResume(() => { console.log('recorder resume') }) 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)
小程序是一種不需要下載安裝即可使用的應(yīng)用,通過掃描二維碼或是搜一搜立即使用,操作簡單,便于傳播,能夠?qū)崿F(xiàn)消息通知、線下掃碼、公眾號關(guān)聯(lián)等七大功能。它基于微信運(yùn)行的,類似于APP,想用就用,用完即走,不會占用內(nèi)存。
以上就是關(guān)于“小程序中如何使用wx.getRecorderManager”的內(nèi)容,如果該文章對您有所幫助并覺得寫得不錯,勞請分享給您的好友一起學(xué)習(xí)新知識,若想了解更多相關(guān)知識內(nèi)容,請多多關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。