首页 > 建站教程 > 小程序、公众号 >  微信小程序在线聊天项目的录音功能正文

微信小程序在线聊天项目的录音功能

最近,做了一个微信小程序在线聊天项目,详见:今日周边小程序用户端。聊天里面有发送语音,用到了录音功能,刚好小程序提供了录音功能:
wx.stopRecord
wx.startRecord
wx.getRecordManager
RecorderManager
其中,RecorderManager是全局唯一的录音管理器,比如我们要录音,首先要全局环境中创建一个管理器。
let RM = wx.getRecorderManager();
创建好录音管理器后,就可以开始录音了。当然,录音是需要获得权限了,我在测试的时候,发现,有了录音开始的方法的话,不用写自动弹出录音授权的窗口,不然会弹出两个同意授权的窗口,那样看着真的相当的尴尬。

开始录音
let option = {
    duration:10000,     //录音的时长,之前最大值好像只有1分钟,现在最长可以录音10分钟
    format:'mp3',         //录音的格式,有aac和mp3两种   
}
RM.start(option);//开始录音
//监听录音开始
RM.onStart(()=>{
    console.log('录音开始事件')
})
    options里其实包含的东西挺多的,但是对于我来讲,主要就是时长和格式,其他的用不上

暂停录音
RM.pause();
//监听暂停录音:
RM.onPause(()=>{
    console.log('录音暂停事件')
})
录音完成
RM.stop();
RM.onStop((res)=>{
    console.log(res)//这里是必须写完成事件的,因为最后的文件,就在这里面;
    //其中:
    //res.tempFilePath;  //是临时的文件地址
    //res.duration;  //录音的时长
    //res.fileSize;  //文件的大小
})
录音在这里,其实就算是完成了,至于如何发送语音,就比较麻烦了,这里不再赘述。