溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

小程序中如何使用wx.getRecorderManager

發(fā)布時間:2022-01-19 16:35:10 來源:億速云 閱讀:584 作者:清風(fēng) 欄目:開發(fā)技術(shù)

這篇文章主要為大家展示了小程序中如何使用wx.getRecorderManager,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶大家一起來研究并學(xué)習(xí)一下“小程序中如何使用wx.getRecorderManager”這篇文章吧。

基礎(chǔ)庫 1.6.0 開始支持,低版本需做兼容處理

獲取全局唯一的錄音管理器 recorderManager。

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è)資訊頻道。

向AI問一下細(xì)節(jié)

免責(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)容。

AI