2011-07-11 11 views
5

Estoy finalizando la primera versión de mi aplicación de JavaScript y me gustaría agregar efectos de sonido. ¿Cuál es la forma recomendada de reproducir un sonido corto (mp3 o wav u otro formato) usando javascript en un navegador web? Tengo diez sonidos que me gustaría precargar y poder reproducir durante la ejecución de la aplicación.¿Cómo puedo reproducir un efecto de sonido corto en una aplicación de JavaScript?

He creado esta pequeña aplicación de prueba y no puedo escuchar el audio. Tal vez alguien me puede mostrar dónde me estoy equivocando:

<html> 
<head> 
    <title>Sound Test</title> 
    <script type="text/javascript" src="raphael.js"></script> 
</head> 
<body> 
    <div id="debugPane" style="width: 300px; height: 500px; float: left; background-color: #EEEEEE; margin-left: 10px; border-style: solid; border-width: 1px;"></div> 
    <script type="text/javascript"> 
     try { 
      var snd = new Audio("mp3/1.mp3"); 
      alert(snd.src); 
      snd.play(); 
     } catch (err) { 
      document.getElementById("debugPane").innerHTML += "" + err.message; 
     } 
    </script> 
</body> 
</html> 

Se está eligiendo el archivo correcto. Sin embargo, cuando señalo un archivo que no existe, no obtengo ninguna excepción. El archivo informa con alegría lo que es su código aunque no esté realmente en mi sistema de archivos.

+0

¿Qué tipo de soporte de navegador quieres? – alex

+0

No me preocupan los navegadores más antiguos :) – nfw

+0

Posible duplicado: http://stackoverflow.com/questions/10105063/how-to-play-a-notification-sound-on-websites?rq=1 –

Respuesta

0

Terminó trabajando todo el tiempo en Chrome y Safari en Windows y Mac. Mi cuadro de desarrollo era un entorno Chromium/Ubuntu, que no es compatible o mi sonido está mal configurado. De hecho, hasta ahora no funciona en Ubuntu con ningún navegador.

0
function playSound(soundfile) { 
document.getElementById("dummy").innerHTML = 
"<embed src='"+soundfile+"' hidden='true' autostart='true' loop='false' />"; 
} 

donde dummy es un div oculto en algún lugar de su página.

Cuestiones relacionadas