录音需要现在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)
})
},
网友评论