虽然在“偏好设置”中允许,但Chrome 33不允许视频捕获

时间:2014-02-25 21:11:18

标签: google-chrome getusermedia

我试图让一个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。

谢谢!

2 个答案:

答案 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

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