小程序 录音 播放实现

录音需要现在js文件定义录音和播放对象

const voiceReciver = wx.getRecorderManager();
const voicePlayer = wx.createInnerAudioContext()

录音开始方法

  touchStart() {
    console.log('开始');
    let option = {
      duration: 10000, //录音的时长,之前最大值好像只有1分钟,现在最长可以录音10分钟
      format: 'mp3', //录音的格式,有aac和mp3两种   
    }
    voiceReciver.start(option); //开始录音   这么写的话,之后录音得到的数据,就是你上面写得数据。
    voiceReciver.onStart(() => {
      console.log('录音开始事件') //这个方法是录音开始事件,你可以写录音开始的时候图片或者页面的变化
    })

  },

录音结束方法

  touchEnd() {
    console.log('结束')
    voiceReciver.stop();
    voiceReciver.onStop((res) => {
      console.log(res) //这里是必须写完成事件的,因为最后的文件,就在这里面;
      let time = parseInt(res.duration / 1000);
      this.setData({
        voice: res,
        voiceTime: time,
        showVoice: true,
      })
      // 其中:
      // res.tempFilePath;//是临时的文件地址
      // res.duration;//录音的时长
      // res.fileSize;//文件的大小
    })

  },

播放录音方法:

  playVoice() {
    let voice = this.data.voice.tempFilePath;
    voicePlayer.autoplay = true
    voicePlayer.src = voice,
      voicePlayer.onPlay(() => {
        console.log('开始播放')
      })
    voicePlayer.onError((res) => {
      console.log(res.errMsg)
      console.log(res.errCode)
    })
  },

你可能感兴趣的:(小程序 录音 播放实现)