小程序录音功能,能不能暴露获取录音权限成功的接口
在做按住录音的功能时,(touchstart开始录音,touchend结束录音)
首次使用小程序时需要授权,授权成功后才开始录音,但这时候已经出发touchend事件 导致无法结束录音
https://mp.weixin.qq.com/debug/wxadoc/dev/api/media-record.html#wxstartrecord
留意一下文档最下面有提到:wx.startRecord
接口需要用户授权,请兼容用户拒绝授权的场景
如果用户拒绝授权,那么 startRecord 方法的 fail 回调将被执行。因此可以在这里加入你需要的处理逻辑
判断当前是不是 第一次调用录音这个功能
如果是第一次调用,可以使用 setInterval 在这里 调用 wx.stopRecord();
在 语音调用 complete, 函数里面 清除 setInterval
if (!hasRecord) {
wx.startRecord({
success: function (res) {
},
complete : function (){
clearInterval(recordSetInter);
wx.hideToast();
}
})
console.log('语音权限 ', hasRecord);
recordSetInter = setInterval(function (){
wx.stopRecord();
},500);
hasRecord = true;
}