0

我正在尝试使用 getMedia() 从我的网络摄像头获取视频和音频,但我的浏览器总是阻止该功能。我正在使用谷歌浏览器,这个图标出现在收藏图标附近:http: //puu.sh/4pLAk.png

JS 是 MDN 的一个例子:https ://developer.mozilla.org/en-US/docs/Web/API/Navigator.getUserMedia

HTML:

    <!DOCTYPE html>
    <html>
    <body>
     <button onClick="getMedia()">Ok</button>
    <body>
    <html>

JS:

function getMedia()
{
    navigator.getMedia = ( navigator.getUserMedia ||
                       navigator.webkitGetUserMedia ||
                       navigator.mozGetUserMedia ||
                       navigator.msGetUserMedia);

navigator.getMedia (

   // constraints
   {
      video: true,
      audio: true
   },

   // successCallback
   function(localMediaStream) {
      var video = document.querySelector('video');
      video.src = window.URL.createObjectURL(localMediaStream);
      video.onloadedmetadata = function(e) {
         // Do something with the video here.
      };
   },

   // errorCallback
   function(err) {
    console.log("The following error occured: " + err);
   }

);
}

我做错了什么?

4

2 回答 2

0

当系统提示您访问摄像头或麦克风并且您点击“拒绝”按钮时,Chrome 将在以后getUserMedia对该站点的调用中保存该选择。您需要单击您提到的视频图标并更改权限以允许相机和/或麦克风访问。有关外观的示例,请参见此页面。

于 2013-09-12T23:49:06.653 回答
0

我遇到了类似的问题,但与麦克风访问有关。正如汤姆 vLine 回答的那样,如果您通过 file:// 提供文件,Chrome 会阻止设备访问(请注意,在 Microsoft Edge 和 Firefox 上,它通过 file::// 工作)。我为 Chrome 找到的一种解决方案:

  1. 在 URL chrome://version/ 中打开 chrome 类型
  2. 在命令行中复制“命令行”字段的值并附加 --allow-file-access-from-files 并运行它
  3. Chrome 打开并输入您的 file:// 网址后。

要始终这样启动 Chrome,请右键单击 Chrome 图标,然后单击属性。在快捷方式选项卡中,将 2 中的所有命令行参数附加到目标值。

希望这对某人有所帮助:-)

于 2016-03-13T17:41:06.590 回答