Как воспроизвести звуковой файл уведомлений в Chrome WebExtension без жестов пользователя? - PullRequest
0 голосов
/ 10 октября 2019

Я создаю веб-расширение для Google Chrome и пытаюсь реализовать функцию, которая воспроизводит звуковой эффект, чтобы уведомлять пользователя об обновлениях в сценарии background.js.

    var sound = new Audio(browserContainer.runtime.getURL("audio/not.ogg"));
    sound.play();

Проблемав том, что благодаря политикам Chrome звук не может воспроизводиться автоматически без какого-либо пользовательского жеста. Я получаю сообщение об ошибке «Uncaught (в обещании) NotAllowedError: play () может быть инициирован только жестом пользователя.»

Как заставить Chrome автоматически воспроизводить звук уведомления без жеста пользователя? Я знаю, что это возможно, потому что я видел, как это делают другие расширения, такие как «Checker Plus для Gmail»

1 Ответ

0 голосов
/ 10 октября 2019

Вы можете попробовать добавить тег HTML audio на фоновую страницу, например:

manifest.json

"background":{"page":"background.html"}

background. html

<html>
<body>
    <audio id="mysound" preload="auto" src="audio/not.ogg"></audio>
    <script src="background.js"></script>
</body>
</html>

background.js

var sound = document.getElementById('mysound');
sound.play()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...