您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了小程序中wx.getRecorderManager()錄音管理怎么用,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶大家一起來研究并學(xué)習(xí)一下“小程序中wx.getRecorderManager()錄音管理怎么用”這篇文章吧。
基礎(chǔ)庫 1.6.0 開始支持,低版本需做兼容處理,獲取全局唯一的錄音管理器 recorderManager。
// 錄音管理 let record = function (recorderManager) { this.recorderManager = recorderManager this.recordStart() } record.prototype = { // 開始錄音 start: function (startObj) { this.recorderManager.start(startObj) }, //錄音開始事件 recordStart: function () { this.recorderManager.onStart(() => { console.log(this.recorderManager, 'this.recorderManager') }) } }
//錄音管理,new 出 第二階段的實例 recorderManager = wx.getRecorderManager() that.newRecord = new record(recorderManager) that.newRecord.recorderManager.onStop((res) => { console.log(res, '獲取錄制完的鏈接') }) //播放錄音 innerAudioContext = wx.createInnerAudioContext() innerAudioContext.onEnded(() => { console.log("音頻自然播放結(jié)束") })
startRecord() { let that = this, startObj = { duration: 60000, sampleRate: 44100, numberOfChannels: 1, encodeBitRate: 192000, format: 'mp3', frameSize: 50 } //錄音開始 that.newRecord.start(startObj) // 錄音計時器 recordTimeInterval = setInterval(function () { }, 1000) },
stopRecord() { clearInterval(recordTimeInterval); //停止錄音事件 this.newRecord.recorderManager.stop() }
// 播放錄音 playVoice(e) { let that = this let srcPath = e.currentTarget.dataset.temppath, // 點擊當(dāng)前傳遞的播放鏈接 duration = e.currentTarget.dataset.duration, // 錄音時間 index = e.currentTarget.dataset.index // 索引 checkArr[index] = srcPath //用于頁面判斷播放一個,另一個暫停 // 播放 innerAudioContext.obeyMuteSwitch = false innerAudioContext.src = srcPath innerAudioContext.play() // 時間減少器 playTimeInterval = setInterval(() => { let playTime = that.data.playTime += 1 }, 1000) }
// 停止播放 stopVoice(forIndex, e) { let index; e !== undefined ? index = e.currentTarget.dataset.index : index = forIndex clearInterval(playTimeInterval) checkArr[index] = undefined innerAudioContext.stop() }
// 只能播放一個 onePlayFor(tempFilePath, src) { tempFilePath.forEach((el, i) => { if (el.tempFilePath !== src) { this.stopVoice(i) } }) }
錄音與停止錄音使用小程序bind:touchstart='startRecord' bind:touchend='stopRecord' 事件
以上就是關(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)容。