小程序
小游戏
企业微信
微信支付
扫描小程序码分享
长按“按住说话”按钮,wx.authorize({scope: 'scope.record',success(res){ ... }})唤起麦克风权限连续唤起了两次,怎么解决呢
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
楼主,问题解决了么,我这里也遇到了,看方法也就只执行了一次,但是弹窗确实弹出了两次
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
若是第三方服务商,配置 ext.json 的小程序和开发小程序会有两次授权,正式发布不会有这个问题
请问具体什么机型?墨问便签小程序,我试了是正常的,只会弹出一次授权。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
楼主,问题解决了么,我这里也遇到了,看方法也就只执行了一次,但是弹窗确实弹出了两次
若是第三方服务商,配置 ext.json 的小程序和开发小程序会有两次授权,正式发布不会有这个问题
请问具体什么机型?墨问便签小程序,我试了是正常的,只会弹出一次授权。
<button class="btn voice_btn"
bindlongpress="voiceStart" .....>
// 开始录音
voiceStart(e) {
console.log('start')
let that = this
this.setData({
isclick: true
})
this.startPoint = e.touches[0]
const options = {
duration: 60000,
sampleRate: 16000,
numberOfChannels: 1,
encodeBitRate: 64000,
format: 'mp3',
frameSize: 50
}
wx.getSetting({
success (res) {
let auth = res.authSetting['scope.record'] //true授权成功
if(auth){
console.log(0)
that.setData({
isclick: false
})
recorderManager.start(options);
recorderManager.onStart(() => {
console.log('chagnan')
that.setData({
isVoiceShow: true,
stateTxt: '松开发送'
})
console.log('开始录音')
});
} else if(auth === undefined){ //首次授权
console.log(1)
wx.authorize({
scope: 'scope.record',
success() {
// resolve(true)
recorderManager.start(options);
recorderManager.onStart(() => {
console.log('recorder start')
});
},
fail(res) {
}
})
} else if(!res.authSetting['scope.record']){ //再次授权
console.log(2)
wx.showModal({
title: '提示',
content: '您未授权录音,功能将无法使用',
showCancel: true,
confirmText: "授权",
confirmColor: "#52a2d8",
success: function (res) {
if (res.confirm) {
//确认则打开设置页面(重点)
wx.openSetting({
success: (res) => {
console.log(3)
console.log(res.authSetting);
if (!res.authSetting['scope.record']) {
//未设置录音授权
console.log("未设置录音授权");
wx.showModal({
title: '提示',
content: '您未授权录音,功能将无法使用',
showCancel: false,
success: function (res) {
},
})
}else {
//第二次才成功授权
console.log("设置录音授权成功");
recorderManager.start(options);
recorderManager.onStart(() => {
console.log('recorder start')
});
//错误回调
recorderManager.onError((res) => {
console.log(res);
})
}
},
fail: function () {
console.log("授权设置录音失败");
wx.showModal({
title: '提示',
content: '授权失败',
showCancel: false,
})
}
})
} else if (res.cancel) {
console.log("cancel");
}
},
fail: function () {
console.log("openfail");
}
})
}
console.log('授权')
console.log('success',auth)
}
})
},
https://developers.weixin.qq.com/miniprogram/dev/framework/performance/api-frequency.html