Разрешение доступа к микрофону в упакованном приложении для устройств Chrome OS - PullRequest
0 голосов
/ 03 апреля 2019

Я разрабатываю базовое пакетное приложение для устройств Chrome OS, которое направляет пользователей на внешний веб-сайт.Находясь на веб-сайте, пользователям иногда нужно будет использовать свой микрофон для чтения вместе с текстом, который они видят на экране.К сожалению, я постоянно получаю сообщение об ошибке, сообщающее, что мой медиа-запрос был отклонен.

Сообщения об ошибках появляются в двух разных местах и ​​выглядят следующим образом:

ВРаздел ошибки интерфейса Google Extensions:

<webview>: The permission request for "media" has been denied.

В журнале консоли после проверки окна Chrome, созданного приложением:

Failed to connect js microphone. MicrophonePermissionError: Microphone permission denied (navigator.mediaDevices [NotAllowedError]).

Iпопытался предоставить соответствующие разрешения в манифесте («audioCapture») и включить скрипт, который прослушивает медиа-запросы, сделанные элементом webview.

Это фрагмент кода, который я использовал для прослушивания медиа-запросов и предоставления их при запросе.

background.js

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

Вот раздел разрешений моего файла манифеста:

manifest.json

{
  "permissions": [
    "webview",
    "storage",
    "audioCapture",
    "videoCapture"
  ],

Я видел ограниченную документацию по этой проблеме, поскольку она относится к упакованным приложениям,и все, что я видел, указывает на то, что я предпринял все соответствующие шаги.

...