首页 > 技术文章 > 微信小程序录音与播放

landuo629 2020-08-17 15:17 原文

微信小程序录音与播放

录音

  • 小程序中提供了两种录音的API,旧版已经不在维护,这里我们介绍新版本

wx.getRecorderManager()

  • 获取全局唯一的录音管理器,然后录音都依赖他,而播放录音则需要内部 audio 上下文 innerAudioContext 对象。

获取全局唯一的录音管理器:

const rm = wx.getRecorderManager(); // 创建全局唯一的录音管理器实例
rm.onError((err) => {
      // 录音失败的回调处理
	  console.log(err);
    });
rm.onStop((res) => {
      // 停止录音之后,把录取到的音频放在res.tempFilePath
      this.setData({
        src: res.tempFilePath 
      })
      console.log(res.tempFilePath )
    });

开始录音:

console.log("录音开始")
const options = {
	duration: 60000, //录音的时长,单位 ms
	sampleRate: 44100, //采样率
	numberOfChannels: 1, //录音通道数
	encodeBitRate: 192000, //编码码率
	format: 'mp3', //音频格式
	frameSize: 50 //指定帧大小,单位 KB
}
rm.start(options)

结束录音:

console.log("录音结束");
rm.stop()

播放音频:

let myaudio = wx.createInnerAudioContext(); // 创建audio对象
myaudio.onError((res) => {
	// 播放音频失败的回调
	console.log(res)
})
myaudio.src = this.data.src;  // 这里可以是录音的临时路径
myaudio.play();

推荐阅读