我正在为Chrome操作系统设备开发一个基本的打包应用程序,该程序可将用户定向到外部网站。在网站上时,用户有时会需要使用麦克风来阅读他们在屏幕上看到的文字。不幸的是,我一直收到一条错误消息,通知我我的媒体请求已被拒绝。
错误消息出现在两个不同的位置,如下所示:
在Google扩展程序界面的错误部分:
<webview>: The permission request for "media" has been denied.
在控制台日志中,检查由应用程序创建的Chrome窗口后:
Failed to connect js microphone. MicrophonePermissionError: Microphone permission denied (navigator.mediaDevices [NotAllowedError]).
我尝试在清单(“ audioCapture”)中授予适当的权限,并包括侦听webview元素发出的媒体请求的脚本。
这是我用来侦听媒体请求并在出现提示时授予它们的代码段。
background.js
webview.addEventListener('permissionrequest', function(e) {
if (e.permission === 'media') {
request.allow();
}
});
这是清单文件的权限部分:
manifest.json
{
"permissions": [
"webview",
"storage",
"audioCapture",
"videoCapture"
],
我看到的关于此问题的文档非常有限,因为它与打包的应用程序有关,并且我所看到的一切都表明我已经采取了所有适当的步骤。