2014-04-23 171 views
0

测试代码:铬不给访问网络摄像头

<!doctype html> 
<html> 
<body> 
<video id="v1" autoplay="autoplay"></video> 
<script> 
navigator._getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia; 
navigator._getUserMedia({video: true}, function(stream) { 
    document.getElementById('v1').src = URL.createObjectURL(stream); 
}, function() {}); 
</script> 
</body> 
</html> 

chrome34.0.1847.116 m如果页面被打开过http不给访问网络摄像头,但它的作品,如果打开了https。也就是,the web camera icon(图片来自google)出现在地址栏中。我点击它,选择“询问example.com是否想访问你的相机”,点击“完成”,然后在出现的栏中点击“重新加载”。但视频并未出现。如果通过https打开,它从一开始就工作正常。

该webcamera是Logitech C210。它在skype中正常工作。有什么想法吗?

回答

3

您确定这不是因为您试图直接从文件打开您的页面,而不是从网络服务器打开您的页面,因此使用前缀file:///而不是http(s)://

如果条形地址中的url看起来像file:///...那么chrome将不允许访问摄像机。

但是,如果您通过基本网络服务器(python -m SimpleHTTPServer位于您的页面所在的文件夹中)或JSFiddle(http://jsfiddle.net/7Hkws/)启动您的页面,则它工作得很好。


在Chrome浏览器设置,Privacy > Content Settings > Medias应设置为 Ask when a site requires access to your camera and microphone (recommended)

+0

我确定,因为我在jsfiddle.net上遇到同样的症状。 –

+1

嗯,我有和你完全一样的Chrome版本...... jsfiddle和localhost都能正常工作。也许你可以通过检查你的chrome机密性设置来查看是否有错误。 – Tronix117

+0

确实,我在'设置>隐私>内容设置>媒体'中有'不允许网站访问您的相机和麦克风'。如果我将其切换到“询问网站何时需要访问您的相机和麦克风(推荐)”,它才会开始工作。但是,当禁止使用相机和麦克风时,“铬”的行为无论如何都是奇怪的。然后我们仍然遇到'firefox'的问题。 –

0

这个答案是有点乏味,但值得为techies.Refer此链接,并按照程序。 需要创建一个将用于Chrome的目录以不安全的方式并通过链接中给出的命令启动它。

https://gist.github.com/jll90/5e0549ca5cce5d9c3a65600b29aab9a7

命令这个命令之前,Windows操作系统 这个位置上“d:\ chromeInsequre”创建一个文件夹或在任何其他位置与任何名称和大胆

开始铬替代路径 - -user-data-dir = D:\ chromeInsequre --unsafely-treat-insecure-origin-as-secure = http://example.com/