3

我正在测试在单独的窗口中调用环聊网页但应用程序无权访问麦克风和摄像头的场景 - 按钮为红色并且消息显示“环聊无法使用选定的麦克风/摄像头”。

我已包含在权限"audioCapture""videoCapture".

必须做些什么才能使其发挥作用?

编辑:

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

我已经有了这段代码:

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

1 回答 1

5

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

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

<webview>不显示这些元素,而是引发一个事件,并由应用程序来允许/拒绝它:

permissionrequest

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

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

webview.addEventListener('permissionrequest', function(e) {
  if (e.permission === 'media') {
    e.request.allow();
  }
});
于 2015-01-22T13:08:26.527 回答