首页 > 解决方案 > Google chrome DOMException:navigator.mediaDevices.getUserMedia 的权限被系统拒绝

问题描述

现在是 2019 年 11 月,此 JavaScript 代码适用于 FireFox(70.0.1(64 位))、Safari(13.0.2(15608.2.30.1.1))、Opera(版本:65.0.3467.48)、Windows Chrome 版本70.0.3538.77(64 位),此代码有效。但不在 MacOS Google Chrome(版本 78.0.3904.108(官方构建)(64 位))中:

navigator
.mediaDevices
.getUserMedia({video: true, audio: true})
.then(stream => {
    console.log("success!")
})
.catch(e => {
    console.log("e: ", e);
});

在 Chrome 的控制台中,我得到:DOMException: Permission denied 经过多次谷歌搜索,我没有找到任何最新的东西。我们究竟如何使用 JS 在 Chrome 中请求摄像头访问权限?

标签: javascriptgoogle-chromewebrtcwebcamgetusermedia

解决方案


由于 MacOS Mojave,相机和麦克风需要操作系统权限

这适用于所有非 Apple 产品,包括除 Safari 之外的所有浏览器。

检查系统偏好设置 > 安全和隐私 > 隐私 > 摄像头和麦克风。确保 Chrome 已列出并有一个复选框。

当 Chrome 第一次尝试访问它们时,你应该得到一个关于这个的特殊操作系统提示。但是,如果它意外地以某种方式被阻止,您将永远不会再收到提示。


推荐阅读