我正在使用 getUserMedia() 访问用户的照相机并将数据传输到画布上。这部分功能都能正常工作。
在测试中,我被拒绝了一次。在 Chrome 和 Firefox 中,在此时任何随后使用 getUserMedia() 的请求都会默认为被拒绝状态。
显然,我们不想在被拒绝之后的每个页面加载时都请求相机/麦克风的权限,因为地理位置 api 已经很令人烦恼了。
然而,肯定有一种方法可以再次请求权限。仅因为用户拒绝了一次并不意味着他们想永远拒绝网络摄像头的访问。
我已经阅读了规范,并进行了一些谷歌搜索,但并没有找到关于这个问题的明确说明。
编辑: 进一步研究表明,在 Chrome 中点击拒绝会将当前站点添加到阻止列表中。可以通过 chrome://settings/content 手动访问此列表。滚动至 Media。管理例外情况,删除被阻止的站点。
链接到 chrome://settings/content 在这种情况下不能正常工作(当我们想添加一个有用的链接来让人们重新启用权限时)。
处理 getUserMedia 权限的整个用户体验非常糟糕。=(