Cuando ocurre un evento determinado, quiero que mi sitio web reproduzca un sonido de notificación breve para el usuario.
El sonido no debería iniciarse automáticamente (instantáneamente) cuando se abre el sitio web. En su lugar, debe reproducirse a pedido a través de JavaScript (cuando ese evento ocurre).
Es importante que esto también funcione en navegadores más antiguos (IE6 y similares).
Entonces, básicamente hay dos preguntas:
- ¿Qué códec debo utilizar?
- ¿Cuál es la mejor práctica para incrustar el archivo de audio? (
<embed>
vs.<object>
vs. Flash vs.<audio>
)
Respuestas:
Esta solución funciona en prácticamente todos los navegadores (incluso sin Flash instalado):
Soporte de navegador
<audio>
(Navegadores modernos)<embed
> (Retroceso)Códigos usados
fuente
A partir de 2016, lo siguiente será suficiente (ni siquiera necesita incrustar):
Vea más aquí .
fuente
Uncaught (in promise) DOMException
Un complemento más, para reproducir sonidos de notificación en sitios web: Ion.Sound
Ventajas:
Configurar complemento:
fuente
¿Qué tal el reproductor multimedia de yahoo? Simplemente inserte la biblioteca de yahoo
Y usarlo como
Para iniciar automáticamente
fuente
display: none
, ya no reproducirá el sonido. Además, la biblioteca de medios de Yahoo muestra un pequeño icono de "reproducción" a la izquierda del enlace.visiblity: hidden;
es tu respuestaReproducir notificaciones compatibles con varios navegadores
Como lo aconsejó @Tim Tisdall de esta publicación, consulte el complemento Howler.js .
Los navegadores como Chrome deshabilitan la
javascript
ejecución cuando están minimizados o inactivos para mejorar el rendimiento . Pero esto reproduce sonidos de notificación incluso si el navegador está inactivo o minimizado por el usuario.La esperanza ayuda a alguien.
fuente
sound.play()
ejecuta el código que llama en primer lugar? ¿Howler pone todos tus setTimeouts en un contenedor?Use audio.js, que es un polyfill para la
<audio>
etiqueta con respaldo para flash.En general, consulte https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills para polyfills para las API de HTML 5 .. ( incluye más
<audio>
polyfills )fuente
si desea llamar al evento en el código, la mejor manera de hacerlo es crear un activador porque el navegador no responderá si el usuario no está en la página
ahora puedes activar tu botón cuando quieras reproducir sonido
fuente
este código es de talkerscode Para un tutorial completo, visite http://talkerscode.com/webtricks/play-sound-on-notification-using-javascript-and-php.php
fuente
Podemos usar Audio y un objeto juntos como:
e incluso agregando
addEventListener
paraplay
yended
fuente
Escribí un método funcional limpio para reproducir sonidos:
fuente