小程序中提供了两种录音的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地址
网友评论