Html Chrome getUserMedia未在本地请求权限
我正在尝试在Chrome中使用navigator.getUserMedia;但是,在本地服务时,它不会请求许可(file:///whatever/index.html),但在JSFiddle()和其他站点上没有 有人知道原因吗?我是否需要以某种方式重置权限 以下是我在本地使用的内容:Html Chrome getUserMedia未在本地请求权限,html,google-chrome,Html,Google Chrome,我正在尝试在Chrome中使用navigator.getUserMedia;但是,在本地服务时,它不会请求许可(file:///whatever/index.html),但在JSFiddle()和其他站点上没有 有人知道原因吗?我是否需要以某种方式重置权限 以下是我在本地使用的内容: <html> <head></head> <body> <button id="btn">Start</button> <scr
<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>
开始
/*! jQuery v1.8.3 jQuery.com | jQuery.org/license*/
//JQuery在这里运行
navigator.getUserMedia=navigator.webkitGetUserMedia | | navigator.getUserMedia;
$(函数(){
$('#btn')。单击(函数(){
getUserMedia({audio:true},
函数(){
警惕(“成功”);
},
功能(err){
警报('fail:'+JSON.stringify(err));
}); }); });
Chrome在文件://
URI上阻止了大量内容,但没有报告安全错误(例如)。您最好的选择是从本地Web服务器运行,如果您安装了Python,请尝试。在打开chrome时,您可以从命令行使用--allow file access from files
标志,以便能够从本地文件系统使用getUserMedia
。在OS X中如何执行命令行arg有点繁琐。它通常是这样的
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --allow-file-access-from-files
如果你像我一样是个怪胎,把你的应用程序放在~/Applications
中,那么它就是
"/Users/yougohere/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --allow-file-access-from-files
如果两者都不起作用,则键入
chrome://version
在您的Chrome地址栏中,它会告诉您应该使用什么“命令行”调用。只需添加——允许从文件访问文件。尝试安装简单服务器(重量轻),只需单击“安装”,即可下载
安装后,请将应用程序转到您想要运行的页面。我遇到了类似的问题,但与麦克风访问有关。
如果您通过file://(请注意,在Microsoft Edge和Firefox上,它通过file://)提供文件,则Chrome会阻止设备访问
我为Chrome找到了一个解决方案:
在URL中打开一个类型chrome://version/
复制命令行中“命令行”字段的值并附加
--允许从文件访问文件并运行它
打开Chrome后,输入文件://url
要始终像那样启动Chrome,请右键单击Chrome图标,然后单击属性。在快捷方式选项卡中,将2中的所有命令行参数附加到目标值。这是正确的:getUserMedia仅在从服务器上的文件运行时有效。它无法从文件://URL工作。您将获得一个权限\u DENIED:1
错误,但这不是很直观@SamDutton:我提交了一份bug报告,要求提供更直观的错误信息:伙计们,我有WAMP,我有完全相同的问题!它在“真实”的网络上运行良好。。localhost,我收到错误消息I setup。有什么想法吗???为什么不允许你在自己的系统上使用摄像头?StupidMac用户:Python已经安装好了,所以这是一个非常简单快速的解决方案,比为一个简单的测试设置一个web服务器要快得多。我尝试过,但它似乎不起作用。我使用的是Chrome版本48.0.2564.116 m。