如何在Chrome OS或Chrome扩展程序的打包应用程序中启用相机和麦克风?

时间:2015-01-22 12:57:01

标签: javascript google-chrome-app getusermedia google-chrome-os

我测试的情况是我在单独的窗口中调用环聊网页,但应用程序无法访问麦克风和相机 - 按钮是红色的,并且消息显示"环聊可以' t使用所选的麦克风/摄像头"。

我已加入权限"audioCapture""videoCapture"

要使其发挥作用需要做些什么?

修改

允许媒体应用程序访问摄像头和麦克风后 - 我可以看到在环聊设置中,但图片和语音不会通过环聊传输给其他参与者。有什么我必须为流媒体设置?

我已经有了这段代码:

navigator.webkitGetUserMedia({ audio: true, video: true },
            function (stream) {
                mediaStream = stream;
            },
            function (error) {
                console.error("Error trying to get the stream:: " + error.message);
            });    

1 个答案:

答案 0 :(得分:5)

如果您需要为<webview>嵌入页面提供音频/视频,则仅需要"audioCapture" / "videoCapture"权限。

要使用这些,页面会向浏览器请求权限。在普通的Chrome中,您会看到一个允许用户允许/拒绝请求的信息栏。

<webview>没有显示这些元素,而是显示raises an event,并且由应用决定允许/拒绝它:

  

<强> permissionrequest

     

当访客页面需要请求嵌入器的特殊权限时触发。

     

以下示例代码将授予访客页面对webkitGetUserMedia API的访问权限。请注意,使用此示例代码的应用必须自己指定audioCapture和/或videoCapture清单权限:

webview.addEventListener('permissionrequest', function(e) {
  if (e.permission === 'media') {
    e.request.allow();
  }
});