小程序中提供了两种录音的API
- 旧版录音功能
首先启动录音,然后停止录音即可拉到音频的临时地址
启动录音:
var that = this; wx.startRecord({ success: function (res) { // 调用了停止录音接口就会触发这个函数,res.tempFilePath为录音文件临时路径 var tempFilePath = res.tempFilePath that.setData({ src: tempFilePath }) }, fail: function (res) { //录音失败的处理函数 } })
停止录音:
wx.stopRecord()
播放录音:
wx.playVoice({ filePath: src // src可以是录音文件临时路径 })
- 新版录音
获取全局先进录音管理器,然后录音都依赖他,而播放录音则需要内部 audio 上下文 innerAudioContext 对象。
获取全局先进录音管理器:
var that = this; this.recorderManager = wx.getRecorderManager(); this.recorderManager.onError(function(){ // 录音失败的回调处理 }); this.recorderManager.onStop(function(res){ // 停止录音之后,把录取到的音频放在res.tempFilePath that.setData({ src: res.tempFilePath }) console.log(res.tempFilePath ) });
开始录音:
this.recorderManager.start({ format: 'mp3' // 如果录制acc类型音频则改成aac });
结束录音:
this.recorderManager.stop()
播放音频:
this.innerAudioContext = wx.createInnerAudioContext(); this.innerAudioContext.onError((res) => { // 播放音频失败的回调 }) this.innerAudioContext.src = this.data.src; // 这里可以是录音的临时路径 this.innerAudioContext.play()
- DEMO地址