Когда происходит определенное событие, я хочу, чтобы мой веб-сайт воспроизводил короткое уведомление для пользователя.
Звук не должен запускаться автоматически (мгновенно) при открытии веб-сайта. Вместо этого его следует воспроизводить по запросу через JavaScript (когда происходит определенное событие).
Важно, чтобы это работало и в старых браузерах (IE6 и т. Д.).
Итак, в основном есть два вопроса:
- Какой кодек мне использовать?
- Как лучше всего встроить аудиофайл? (
<embed>
vs.<object>
Flash vs.<audio>
)
Ответы:
Это решение работает практически во всех браузерах (даже без установленного Flash):
Поддержка браузера
<audio>
(Современные браузеры)<embed
> (Резерв)Используемые коды
источник
С 2016 года будет достаточно (вам даже не нужно встраивать):
Подробнее здесь .
источник
Uncaught (in promise) DOMException
Еще один плагин для воспроизведения звуков уведомлений на сайтах: Ion.Sound
Преимущества:
Настроить плагин:
источник
Как насчет медиаплеера Yahoo? Просто вставьте библиотеку Yahoo
И используйте это как
Для автозапуска
источник
display: none
его, он больше не будет воспроизводить звук. Кроме того, в медиа-библиотеке Yahoo слева от ссылки отображается небольшой значок воспроизведения.visiblity: hidden;
это ваш ответВоспроизведение кросс-браузерных уведомлений
Как посоветовал @Tim Tisdall из этого сообщения, проверьте плагин Howler.js .
Браузеры, такие как Chrome, отключают
javascript
выполнение в свернутом или неактивном состоянии для повышения производительности . Но при этом воспроизводятся звуковые уведомления, даже если браузер неактивен или свернут пользователем.Надежда кому-то помогает.
источник
sound.play()
в первую очередь запускается вызывающий код ? Помещает ли Howler все ваши setTimeouts в оболочку?Используйте audio.js, который является полифилом для
<audio>
тега с резервной вспышкой.В общем, посмотрите https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills для полифиллов для API HTML 5 .. ( он включает больше
<audio>
полифиллов )источник
если вы хотите вызвать событие в коде. Лучший способ сделать это - создать триггер, потому что браузер не будет отвечать, если пользователя нет на странице.
теперь вы можете нажать кнопку, когда хотите воспроизвести звук
источник
этот код взят из Talkerscode. Полное руководство см. на http://talkerscode.com/webtricks/play-sound-on-notification-using-javascript-and-php.php
источник
Мы можем просто использовать звук и объект вместе, например:
и даже добавив
addEventListener
дляplay
иended
источник
Я написал чистый функциональный метод воспроизведения звуков:
источник