小米,opp,vivo等部分机型,存在二次获取语音权限失败问题,导致用户无法输入语音,请问是什么原因?获取权限代码如下:
try {
await this.hasMicrophonePermission().then(async (hasPermission) => {
if (hasPermission) {
console.log('有权限')
uni.showToast({
title: '已获取到录音权限,开启语音',
icon: 'none'
});
this.isOpen = true
} else {
console.log('无权限')
uni.showToast({
title: '没有获取到录音权限',
icon: 'none'
});
this.isOpen = false
// 这里可以执行没有获取到权限后的操作
uni.showToast({
title: '请在手机设置中开启录音权限',
icon: 'none',
success: () => {
// 调用系统权限
}
});
}
}).catch((error) => {
console.error('发生错误:', error);
});
} catch(e) {
console.log('createLocalStream Error', e);
}
1 个回复
DCloud_UNI_yuhe
你提供的代码看起来只有弹窗,并没有获取权限的逻辑