Chrome不允许HTTP托管网站访问Camera&麦克风

时间:2017-12-27 16:18:18

标签: javascript reactjs google-chrome browser webcam

我正在使用react-webcam来捕获应用程序的自拍照。在localhost上,react-webcam工作正常,而在HTTP托管的Web服务器上,相机访问权限在Chrome上默认被拒绝。是否有网络摄像头访问或任何其他npm插件的解决方法,可以在这里达到目的。

注意:允许HTTPS支持的网站同时访问相机和相机。麦克风。在这里,我只剩下HTTP选择。

2 个答案:

答案 0 :(得分:2)

react-webcam使用getUserMedia API specification声明:

  

当处于不安全的来源[混合内容]时,鼓励用户代理警告使用navigator.mediaDevices.getUserMedia,navigator.getUserMedia以及其开发人员工具中的任何前缀变体,错误日志等。用户代理明确允许在不安全的原始时完全删除这些API,只要它们一次性删除所有这些API(例如,它们不应该只留下不安全来源的前缀版本)。 / p>

Chrome从版本47开始实施此安全策略(Source):

  

从Chrome 47开始,getUserMedia()请求仅允许来自安全来源:HTTPS或localhost。

因此,如果没有安全连接,您将无法访问麦克风或相机。

答案 1 :(得分:1)

如果您将其用于开发环境并希望在您的手机上对其进行测试,您可以执行以下操作:

  • 转到:chrome://flags/#unsafely-treat-insecure-origin-as-secure
  • 启用`不安全的来源被视为安全`
  • 添加要忽略此政策的地址
  • 重启 Chrome