问题描述:
我们在开发小程序时遇到了授权使用麦克风的困难。
开发环境
JavaScript + 微信开发者工具
库: 2.0.4
测试信息
微信 6.7.2
目前主要触发问题的测试设备: iPhone 7 Plus, IOS 11.4.1 及其他IOS 11+ 设备
现在,我们已经成功的在用户第一次使用小程序时, 显示出授权使用相机和麦克风的弹窗 Allow WeChat to access your camera and microphone on Settings-privacy on your iPhone,但是点击确认后用户无法进入我们的小程序。 之后我们可以在设置-隐私-照相机中找到微信, 但是在设置-隐私-麦克风中却找不到。
我们又找了另外一个只用授权麦克风的小程序进行测试,通过这个程序可以成功的授权使用麦克风, 并且也在设置-隐私-麦克风的界面下找到了微信。授权麦克风后,我们也可以正常使用我们自己的小程序了。
所以我们猜测,在一开始无法使用小程序是因为对麦克风的授权失败。
这是我们目前使用的代码片段处理授权功能:
authorize() {
var that = this;
wx.getSetting({
success(res) {
if (!res.authSetting['scope.camera']) {
wx.authorize({
scope: 'scope.camera',
success() {
if (!res.authSetting['scope.writePhotosAlbum']) {
wx.authorize({
scope: 'scope.writePhotosAlbum',
success() {
that.setData({ permissionsChecked: true, hasPermissions: true });
},
fail() {
that.setData({ permissionsChecked: true, hasPermissions: false });
}
})
}
},
fail(){
that.setData({ permissionsChecked: true, hasPermissions: false });
}
})
}
}
})
},
综述,我们目前:
没有找到合适的方法授权麦克风
没办法在授权麦克风失败后让用户直接进入照相界面
请问有什么比较好的方式能够帮助我们解决这两个问题?
哈哈,原来早有人提这个问题了,到现在已经2019年2月了,问题依旧!!!
这个问题就是微信的bug,他们的camera组件有问题,绑定了摄像模式,导致必须要拍照和麦克风的权限。官方反馈上去修复一下吧,影响众多。
camera组件增加mode的photo,或者鉴权别调用mic就好了
先使用微信语音取得授权,然后在系统麦克风那里就能看到了
你好,请提供出现问题的机型和微信版本,以及能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。
wechatide://minicode/AucODlmi7q27
开发环境
JavaScript + 微信开发者工具
库: 2.0.4
测试信息
微信 6.7.2
目前主要触发问题的测试设备: iPhone 7 Plus, IOS 11.4.1 及其他IOS 11+ 设备
你好,这个代码片段我该怎么操作才能复现问题呢?
1. 在 iOS 11.4.1 设备上初始安装微信(或安装微信后,保证未对摄像机麦克风授权,保证在手机设置->隐私的相机,麦克风选项下无微信图标)
2. 扫描我们提供的二维码
3. 进入登陆界面后,点击确认
4. 弹窗显示授权相机后,点击允许
5. 弹窗显示授权相册后,点击允许
6. 完成照相的界面没有显示
7. 此时检查设置->隐私界面的相机和麦克风授权状态,可以发现并成功授权麦克风。
8. 之后我们借助其他的小程序,成功授权了麦克风。再次进去我们的小程序,程序可以正常启动,照相的界面正确显示。
没有授权麦克风是这样提示的呀