Chrome getUserMedia不请求本地权限

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (21)

我试图在Chrome中使用Naviator.getUserMedia;然而,它不是在本地服务时请求许可(文件:///any/index.html),而是在JSFiddle上请求许可(文件://任何/index.html)(http://jsfiddle.net/EBsvq/)和其他地点。

有人知道原因吗?我是否需要以某种方式重置权限?

下面是我在本地使用的内容:

<html>
<head></head>
<body>
   <button id="btn">Start</button>

<script type="text/javascript">
   /*! jQuery v1.8.3 jquery.com | jquery.org/license */
   //JQuery goes here
</script>

<script type="text/javascript">
  navigator.getUserMedia = navigator.webkitGetUserMedia || navigator.getUserMedia;

  $(function(){
    $('#btn').click(function(){
      navigator.getUserMedia({audio: true}, 
      function(){
        alert('success');
      },
      function (err) {
        alert('fail: ' + JSON.stringify(err));
      }); }); });
      </script>
  </body>
</html>
提问于
用户回答回答于

Chrome会阻止很多file:///URI 的内容,而不会报告安全错误(例如,地理位置)。你最好的选择是从本地网络服务器运行,如果你安装了Python,请尝试SimpleHTTPServer

用户回答回答于

你可以使用--allow-file-access-from-files打开chrom时,从命令行中发出标志,以便能够使用getUserMedia来自本地文件系统。

扫码关注云+社区