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