Chrome 33不允许视频捕获,尽管在"首选项"中允许



我正试图允许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版。

谢谢!

Chrome似乎每次启动都会覆盖首选项文件。我无法让我的任何更改保持不变。

解决方案1。打包的Chrome应用程序

授予权限的一种方法是将您的网站作为chrome应用程序运行。只需将videoCapture包含在manifest.json中即可。这肯定会奏效。

"permissions": [
"videoCapture"
],

解决方案2。获取SSL证书

我知道你特别说了"http",但如果你通过https为你的网站提供服务,它只需要用户授予一次权限。

解决方案3。修改设备策略

如果你因为某种原因无法将你的网站打包为chrome应用程序,可能还有另一种方法可以让它发挥作用。它包括编辑Chrome的策略列表以允许访问相机。我目前无法让它发挥作用,但我正在研究它。

http://www.chromium.org/administrators/policy-list-3#VideoCaptureAllowedUrls

VideoCaptureAllowedUrls是要自动授予网络摄像头权限的URL列表。问题在于设置此属性。我知道文件所在的位置,但没有关于如何设置属性的示例。

/Applications/Google Chrome.app/Contents/Resources/com.google.Chrome.manifest/Contents/Resources/com.google.Chrome.manifest

有关于编辑策略列表的"说明",但它们完全没有用。它所做的只是指向那个文件,并为Windows和Linux提供模板(我在OSX上)。

请注意,此解决方案只能在kiosk模式下工作。要在kiosk模式下运行Chrome,请添加标志--kiosk http://yoursite.com。这将强制应用程序进入全屏模式。

如果你在Windows/Linux上,这篇SO文章可能会对你有所帮助。

解决方案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

更多信息请点击此处http://creativcoders.wordpress.com/2014/08/18/chrome-always-allow-access-to-webcam-and-microphone-over-http-webrtc/

最新更新