千家信息网

小程序中wx.getRecorderManager()录音管理怎么用

发表于:2024-11-30 作者:千家信息网编辑
千家信息网最后更新 2024年11月30日,这篇文章主要为大家展示了小程序中wx.getRecorderManager()录音管理怎么用,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下"小程序中wx.ge
千家信息网最后更新 2024年11月30日小程序中wx.getRecorderManager()录音管理怎么用

这篇文章主要为大家展示了小程序中wx.getRecorderManager()录音管理怎么用,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下"小程序中wx.getRecorderManager()录音管理怎么用"这篇文章吧。

1.小程序录音管理介绍 wx.getRecorderManager()
基础库 1.6.0 开始支持,低版本需做兼容处理,获取全局唯一的录音管理器 recorderManager。
2.小程序录音管理代码
// 录音管理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')    })  }}
3.Page onLoad配置
  //录音管理,new 出 第二阶段的实例    recorderManager = wx.getRecorderManager()    that.newRecord = new record(recorderManager)     that.newRecord.recorderManager.onStop((res) => {         console.log(res, '获取录制完的链接')    })    //播放录音    innerAudioContext = wx.createInnerAudioContext()    innerAudioContext.onEnded(() => {      console.log("音频自然播放结束")    })
4.现在开始录音
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)  },
5.停止录音
  stopRecord() {    clearInterval(recordTimeInterval);    //停止录音事件    this.newRecord.recorderManager.stop()  }
6.播放录音
  // 播放录音          playVoice(e) {            let that = this            let srcPath = e.currentTarget.dataset.temppath, // 点击当前传递的播放链接                  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)          }
7.停止播放
// 停止播放          stopVoice(forIndex, e) {            let index;            e !== undefined ? index = e.currentTarget.dataset.index : index = forIndex            clearInterval(playTimeInterval)            checkArr[index] = undefined            innerAudioContext.stop()          }
8.只能播放一个的代码
  // 只能播放一个          onePlayFor(tempFilePath, src) {            tempFilePath.forEach((el, i) => {              if (el.tempFilePath !== src) {                this.stopVoice(i)              }            })          }
录音与停止录音使用小程序bind:touchstart='startRecord' bind:touchend='stopRecord' 事件

以上就是关于"小程序中wx.getRecorderManager()录音管理怎么用"的内容,如果该文章对您有所帮助并觉得写得不错,劳请分享给您的好友一起学习新知识,若想了解更多相关知识内容,请多多关注行业资讯频道。

0