m***@163.com
m***@163.com
  • 发布:2022-06-30 16:47
  • 更新:2022-08-19 09:52
  • 阅读:4061

uni-app使用webview加载网页,网页使用navigator.mediaDevices.getUserMedia一直提示permission denied

分类:uni-app

网页源代码如下: 将这个网页内嵌到uni-app webview组件里,调用getUserMedia一直提示permission denied,app相机权限和录音权限都开了,请问有老哥知道什么原因吗?
navigator.mediaDevices.getUserMedia({
video: true
}).then(() => {
alert(1);
}).catch(e => alert(e.message));

2022-06-30 16:47 负责人:无 分享
已邀请:
m***@163.com

m***@163.com (作者)

nvue中的webview会出现这个问题,经过测试vue页面中的webview可以通过这种方式请求相机和录音机权限,
document.addEventListener('plusready', function() {
plus.camera.getCamera();
const a = plus.audio.getRecorder();
a.record();
a.stop();
});
当用户同意授权后,后续调用getUserMeida()就没问题了。
但是nvue中的webview里面调用getUserMedia()报错permissionDenied的问题还是没找到解决方案

  • 即时通讯开发

    你解决了吗

    2022-07-29 11:06

  • m***@163.com (作者)

    回复 3***@qq.com: 我换了方案,不过如果你也遇到权限问题,可以参考我上面的回答,先用5+api调出权限弹窗,用户授权后就行了,如果是nvue你可以试试用createWebview创建webview并设置webview里面允许使用5+api,然后就和上面一样了。

    2022-07-29 14:22

  • 沧海一生笑

    亲测用这个方法,解决了 webrtc调用的权限问题,谢谢了!

    2023-07-19 22:19

3***@qq.com

3***@qq.com

在标签上加上 allow='camera可以解决
<web-view allow='camera' src="" ></web-view>

该问题目前已经被锁定, 无法添加新回复