javascript - 如何在 Chrome OS 或 Chrome 扩展程序的打包应用程序中启用摄像头和麦克风?

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

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

我在权限中包含了 “audioCapture”“videoCapture”

需要做些什么才能让它发挥作用?

编辑:

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

我已经有了这段代码:

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

最佳答案

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

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

<webview>不显示这些元素,而是显示 raises an event允许/拒绝它取决于应用程序:

permissionrequest

Fired when the guest page needs to request special permission from the embedder.

The following example code will grant the guest page access to the webkitGetUserMedia API. Note that an app using this example code must itself specify audioCapture and/or videoCapture manifest permissions:

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

关于javascript - 如何在 Chrome OS 或 Chrome 扩展程序的打包应用程序中启用摄像头和麦克风?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28089359/

相关文章:

html - 用于多个麦克风的HTML5 getUserMedia()

javascript - 如何在javascript find函数中传递参数?

javascript - 在 javascript 之后运行 greasemonkey 脚本

javascript - jQuery 完成的多部分表单需要两次单击才能识别 .submit() 和 .click() 事件处理程序

javascript - 如何访问chrome app中的webview内容

google-chrome-app - 添加到 Chrome 应用标题栏

javascript - Uncaught ReferenceError : openDatabase is not defined

javascript - iOS 11 getUserMedia 不工作?

javascript - 跳跃元素

javascript - 手机的相机与浏览器的相机图像质量