reproductor reproducir para insertar como codigo javascript audio cross-browser cross-platform dhtml

reproducir - reproductor de audio html5+css+javascript



¿Forma cruzada entre navegadores para reproducir sonido desde Javascript? (9)

Estoy escribiendo una aplicación dhtml que crea una simulación interactiva de un sistema. Los datos para la simulación se generan a partir de otra herramienta, y ya hay una gran cantidad de datos heredados.

Algunos pasos de la simulación requieren que reproduzcamos clips de audio en "voz en off". No he podido encontrar una manera fácil de lograr esto en varios navegadores.

Soundmanager2 es bastante similar a lo que necesito, pero solo reproducirá archivos mp3, y los datos heredados también pueden contener algunos archivos .wav.

¿Alguien tiene otras bibliotecas que puedan ayudar?



Deberá incluir un complemento como Real Audio o QuickTime para manejar el archivo .wav, pero esto debería funcionar ...

//====================================================================== var soundEmbed = null; //====================================================================== function soundPlay(which) { if (!soundEmbed) { soundEmbed = document.createElement("embed"); soundEmbed.setAttribute("src", "/snd/"+which+".wav"); soundEmbed.setAttribute("hidden", true); soundEmbed.setAttribute("autostart", true); } else { document.body.removeChild(soundEmbed); soundEmbed.removed = true; soundEmbed = null; soundEmbed = document.createElement("embed"); soundEmbed.setAttribute("src", "/snd/"+which+".wav"); soundEmbed.setAttribute("hidden", true); soundEmbed.setAttribute("autostart", true); } soundEmbed.removed = false; document.body.appendChild(soundEmbed); } //======================================================================


El código dacracots es limpio, básico, pero quizás escrito sin pensarlo dos veces. Por supuesto, comprueba primero la existencia de una incrustación anterior y guarda las líneas de creación de incrustación duplicadas.

var soundEmbed = null; //===================================================================== function soundPlay(which) { if (soundEmbed) document.body.removeChild(soundEmbed); soundEmbed = document.createElement("embed"); soundEmbed.setAttribute("src", "/snd/"+which+".wav"); soundEmbed.setAttribute("hidden", true); soundEmbed.setAttribute("autostart", true); document.body.appendChild(soundEmbed); }

Encontré los pensamientos aquí mientras buscaba una solución para una situación algo similar. Desafortunadamente mi navegador Mozilla / 5.0 (X11; U; Linux i686; en-US; rv: 1.9.0.15) Gecko / 2009102814 Ubuntu / 8.04 (resistente) Firefox / 3.0.15 muere al intentar esto.

Después de instalar las últimas actualizaciones, Firefox aún se bloquea, la ópera se mantiene activa.



Me gustó la respuesta de dacracot ... aquí hay una solución similar en jQuery:

function Play(sound) { $("#sound_").remove() $(''body'').append(''<embed id="sound_" autostart="true" hidden="true" src="/static/sound/'' + sound + ''.wav" />''); }


Puede usar la etiqueta HTML5 <audio> .




<audio controls> <source src="horse.ogg" type="audio/ogg"> <source src="horse.mp3" type="audio/mpeg"> Your browser does not support the audio element. </audio>

Ver http://www.w3schools.com/html/html5_audio.asp para más detalles.