在javascript下降后,如何重新申请javascript中摄像机或麦克风的许可

flvlnr44  于 2021-09-29  发布在  Java
关注(0)|答案(2)|浏览(346)

如何在javascript下降后重新申请javascript中摄像机或麦克风的许可。例如,如果在用户不同意的情况下拒绝重新请求权限

r1zhe5dt

r1zhe5dt1#

您不能(因为这可能会导致权限提示垃圾邮件)。
用户必须在浏览器设置中重置或更改此设置。当从getusermedia获取notallowederror(这是一个相当复杂的过程)时,您需要引导他们了解这一点,或者您事先仔细解释了该过程,避免在大多数情况下单击“拒绝”。

2ekbmq32

2ekbmq322#

当用户拒绝访问时,您不能“重新请求”。
但是,您可以通过收听 PermissionStatus.onchange 事件(即在基于chromium的浏览器中,firefox仍然不支持 camera 价值)。
所以你会这样做:

// after you caught denial
const status = await navigator.permissions.query({name: "camera"});
status.addEventListener("change", (evt) => {
  // request again
  navigator.mediaDevices.getUserMedia({ video: true })
    .then(handleStream)
    .catch(handleDeny);
}, { once: true });

相关问题