Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Chrome-允许访问网络摄像头_Javascript_Google Chrome_Camera - Fatal编程技术网

Javascript Chrome-允许访问网络摄像头

Javascript Chrome-允许访问网络摄像头,javascript,google-chrome,camera,Javascript,Google Chrome,Camera,我在我的网站上玩javascript,有一个涉及网络摄像头的想法。我的第一个任务是从用户的网络摄像头中获取数据并在网站上显示 我的网站是。 以下是所有代码: index.html <html> <head> <title>Selfie</title> </head> <body> <video></video> <script src="video.js"></s

我在我的网站上玩javascript,有一个涉及网络摄像头的想法。我的第一个任务是从用户的网络摄像头中获取数据并在网站上显示

我的网站是。 以下是所有代码:

index.html

<html>
<head>
<title>Selfie</title>
</head>
<body>
<video></video>
<script src="video.js"></script>
</body>
</html>
当我加载页面时,Chrome显示它正在阻止网络摄像头。好吧,我料到了。按计划工作。但是,当我点击相机图标为我的站点解除阻止时,只有两个选项是“询问”和“继续阻止”。它默认为“继续阻止”

当我改为“询问”时,会出现一个工具栏,提示我重新加载页面。当我重新加载页面时,没有人询问我,它仍然被阻止,并且它仍然默认为“继续阻止”


我用谷歌搜索了一下,似乎找不到解决办法。我需要包含更多的代码吗?我是这里有问题的人吗(饼干等)?或者这是Chrome的实际问题吗?

首先,您必须检查用户媒体是否可用并准备好授予。记住eval是邪恶的:)

设置视频和自动播放属性的id

<video id="stream" autoplay></video>

最后,我不得不进入我的Chrome设置,将默认的网络摄像头设置从“拒绝”更改为“询问”

当Chrome要求我重新加载页面时,人们可能会认为它能记住我对页面的决定,但我想不会


无论如何,谢谢你的回复

document.getElemtsByTagName('video')[0]?,修改语法。我想你是在HTTP上运行你的页面,对吗?使用HTTPS时,浏览器的容忍度要高得多。Chrome甚至记得答案,然后就不再问第二次了。。。
navigator.getUserMedia = ( navigator.getUserMedia ||
                       navigator.webkitGetUserMedia ||
                       navigator.mozGetUserMedia ||
                       navigator.msGetUserMedia);

if (navigator.getUserMedia) {
   navigator.getUserMedia (

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

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

      // errorCallback
      function(err) {
         console.log("The following error occured: " + err);
      }
   );
} else {
   console.log("getUserMedia not supported");
}
<video id="stream" autoplay></video>