手机版

小程序wx.getRecorderManager()录音管理

时间:2021-12-09 来源:互联网 编辑:宝哥软件园 浏览:

小程序中提供了两种录音的API,wx.startRecord和wx.getRecorderManager(),前一个现在微信团队已经不再维护,所以在这里写一下新的录音管理,比之前要强大

1.小程序录音管理介绍 wx.getRecorderManager()

基础库1.6.0开始支持,低版本需做兼容处理,获取全局唯一的录音管理器记录员.

2.小程序录音管理代码

//录音管理让record=function(recorderManager){ this。recorder manager=recorder manager这个。recordstart()}记录。原型={//开始录音start:函数(startObj){这个。记录员。start(startObj)},//录音开始事件记录开始:函数(){这个。记录员。onstart(()={ console。日志(这个。记录员,这个。recorder manager ')})} }

3.Page onLoad配置

//录音管理,新出第二阶段的实例recorderManager=wx。getrecordermanager()表示。新记录=新记录。新记录。recorderManager。onstop((RES)={ console。日志(RES ')获取录制完的链接') }) //播放录音innerAudioContext=wx。createinneraudiocontext()。innerAudioContext。onended(()={ console。日志('音频自然播放结束)})

4.现在开始录音

startRecord(){ let that=this,startObj={ duration: 60000,sampleRate: 44100,numberOfChannels: 1,encodeBitRate: 192000,format: 'mp3 ',frameSize: 50 } //录音开始那个。新记录。start(startObj)//录音计时器record time interval=setInterval(function(){ },1000) },

5.停止录音

stop record(){ clearInterval(record time interval);//停止录音事件这个。新记录。记录员。stop()}

6.播放录音

//播放录音playVoice(e){ let that=this let SRCpath=e . CurrentTarget。数据集。temppath,//点击当前传递的播放链接持续时间=e . CurrentTarget。数据集。持续时间,//录音时间index=e . CurrentTarget。数据集。索引/索引checkArr[index]=srcPath //用于页面判断播放一个,另一个暂停//播放inneraudiocontext。obeymuteswitch=false inner audio context。src=srcPath inneraudiocontext。play()//时间减少器播放时间间隔=设置间隔(()={ 0让playTime=that.data.playTime=1 },1000) }

7.停止播放

//停止播放stopVoice(forIndex,e){ let index;e!==未定义?index=e . currenttarget。数据集。index : index=for index clearInterval(playTimeInterval)check arr[index]=undefined inneraudio context。stop()}

8.只能播放一个的代码

//只能播放一个onePlayFor(tempFilePath,src) { tempFilePath.forEach((el,i)={ if (el.tempFilePath!==src){这个。停止语音(I)} })}

效果图

小程序wx.getRecorderManager()录音管理(图1)

版权声明:小程序wx.getRecorderManager()录音管理是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。