我试图让一个http网站在没有提示的情况下使用我的相机而没有运气。
我更改了首选项文件(Chrome关闭时)并更改了配置文件部分,如下所示:
"profile": {
"avatar_index": 0,
"content_settings": {
"clear_on_exit_migrated": true,
"pattern_pairs": {
"http://mywebsite.com:80,*": {
"media-stream-camera": 1,
"media-stream-mic": 1
},
...
但是,出于某种原因,它会一直显示提示。
有什么想法吗?我使用的是Chrome版本33。
谢谢!
答案 0 :(得分:2)
Chrome似乎每次启动时都会覆盖首选项文件。我无法改变任何改变。
解决方案1.打包的Chrome应用
授予权限的一种方法是将您的网站作为chrome app运行。只需在videoCapture
中添加manifest.json
即可。这肯定会奏效。
"permissions": [
"videoCapture"
],
解决方案2.获取SSL证书。
我知道您特意说'http',但如果您通过https为您的网站提供服务,则只需要用户授予一次权限。
解决方案3.修改设备政策。
如果由于某种原因无法将您的网站打包为Chrome应用,可能还有另一种方法可以让它发挥作用。它涉及编辑Chrome的政策列表以允许相机访问。我目前无法让这个工作,但我正在研究它。
http://www.chromium.org/administrators/policy-list-3#VideoCaptureAllowedUrls
VideoCaptureAllowedUrls
是自动授予网络摄像头权限的网址列表。问题是设置此属性。我知道文件的位置,但是没有关于如何设置属性的示例。
/Applications/Google\ Chrome.app/Contents/Resources/com.google.Chrome.manifest/Contents/Resources/com.google.Chrome.manifest
编辑政策清单时有'instructions',但它们完全没用。它只是指向该文件,并为Windows和Linux提供模板(我在OSX上)。
请注意,此解决方案仅适用于自助服务终端模式。要在自助服务终端模式下运行Chrome,请添加标记--kiosk http://yoursite.com
。这会强制应用进入全屏模式。
如果您使用的是Windows / Linux,this SO post可能对您有帮助。
答案 1 :(得分:0)
解决方案4.使用命令行标志
使用--use-fake-ui-for-media-stream
命令行标志
示例(OS X):/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome http://html5-demos.appspot.com/static/getusermedia/record-user-webm.html --use-fake-ui-for-media-stream