#javascript #google-chrome-app #getusermedia #google-chrome-os
#javascript #google-chrome-app #getusermedia #google-chrome-os
Вопрос:
Я разрабатываю базовое пакетное приложение для устройств Chrome OS, которое направляет пользователей на внешний веб-сайт. Находясь на веб-сайте, пользователям иногда потребуется использовать свой микрофон для чтения текста, который они видят на экране. К сожалению, я постоянно получаю сообщение об ошибке, информирующее меня о том, что мой медиа-запрос был отклонен.
Сообщения об ошибках отображаются в двух разных местах и являются следующими:
В разделе ошибок интерфейса расширений 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"
],
Я видел ограниченную документацию по этому вопросу, поскольку она относится к упакованным приложениям, и все, что я видел, указывает на то, что я предпринял все соответствующие шаги.
Комментарии:
1. Не могли бы вы поделиться точной / полной ошибкой, с которой вы столкнулись, чтобы сообщество получило представление о вашей проблеме?
2. Извините; я исправил эту ошибку. Теперь вы можете увидеть ошибки в верхней части сообщения.
3. Держу пари, что вам нужно разрешение. (В наши дни все зависит от разрешений… просто спросите Джо Байдена.) Если да, то вот концептуальный путь, которому нужно следовать: html5rocks.com/en/tutorials/getusermedia/intro
4. Не могли бы вы добавить
console.log()
вwebview.addEventListener('permissionrequest', function(e) {
, чтобы узнать, получаете ли вы событие или нет?