Javascript Chrome-允许访问网络摄像头
我在我的网站上玩javascript,有一个涉及网络摄像头的想法。我的第一个任务是从用户的网络摄像头中获取数据并在网站上显示 我的网站是。 以下是所有代码: index.htmlJavascript 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
<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>