基于JS开发微信网页录音功能的实例代码
具体代码如下所示:
wx.ready(function(){
varstartRecordflag=false
varstartTime=null
//btnRecord为录音按钮dom对象
btnRecord.addEventListener('touchstart',function(event){
event.preventDefault();
startTime=newDate().getTime();
//延时后录音,避免误操作
recordTimer=setTimeout(function(){
wx.startRecord({
success:function(){
varrainAllowRecord=sessionStorage.getItem("rainAllowRecord");//判断是否授权过允许使用录音功能
if(!isEmpty(rainAllowRecord)&&rainAllowRecord=="1"){
//开始录音时的操作如修改录音按钮样式等
}else{
//一般第一次时都没有授权弹出授权窗口后无法终止录音过程所以在这里设置rainAllowRecord的值表示允许过录音并且在第一次时主动停止录音
sessionStorage.setItem("rainAllowRecord","1");
wx.stopRecord();
}
startRecordflag=true;
},
cancel:function(){
startRecordflag=true;
alert('用户拒绝授权录音');
},
complete:function(){
startRecordflag=true;
}
});
},300);
});
btnRecord.addEventListener('touchend',function(event){
event.preventDefault();
//间隔太短
vartimeDitance=newDate().getTime()-startTime;
if(timeDitance<300){
startTime=0;
//不录音
clearTimeout(recordTimer);
}else{
//松手结束录音
//startRecordflag因为startRecord是个异步方法防止没有进入startRecord的回调就进入了这里
varstartRecordHandle=setInterval(function(){
//startRecordflag为true表示已经进入过startRecord的回调
if(startRecordflag){
startRecordflag=false;
clearInterval(startRecordHandle);
wx.stopRecord({
success:function(res){
voice.localId=res.localId;
translateVoice();
},
fail:function(res){
}
});
}
},0);
}
});
wx.onVoiceRecordEnd({
complete:function(res){
voice.localId=res.localId;
alert('录音时间已超过一分钟');
}
});
functiontranslateVoice(){
//调用微信的语音转文字接口
wx.translateVoice({
localId:voice.localId,
isShowProgressTips:0,
complete:function(res){
if(res.hasOwnProperty('translateResult')){
alert('识别结果:'+res.translateResult);
}else{
}
}
});
}
functionplayVoice(){
wx.playVoice({
localId:voice.localId
});
}
})
总结
以上所述是小编给大家介绍的基于JS开发微信网页录音功能的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!