Estoy construyendo un juego en el que se reproduce un archivo wav al hacer clic, en este caso es un sonido de pistola "explosión".Audio HTML5: reproduzca el sonido repetidamente al hacer clic, independientemente de si la iteración anterior ha finalizado
El problema es que si hago clic rápido, no reproducirá el sonido una vez por cada clic: es como si los clics se ignoran mientras se reproduce el sonido, y una vez que el sonido finaliza, comienza a escuchar clics otra vez . El retraso parece ser alrededor de un segundo de duración, por lo que imagino que si alguien hace clic 4 o 5 veces por segundo, quiero 5 explosiones, no a 1.
Aquí está mi HTML:
<audio id="gun_sound" preload>
<source src="http://www.seancannon.com/_test/audio/gun_bang.wav" />
</audio>
Aquí está mi JS:
$('#' + CANVAS_ID).bind(_click, function() {
document.getElementById('gun_sound').play();
adj_game_data(GAME_DATA_AMMO_ID, -1);
check_ammo();
});
Ideas?
Esto se ve prometedor. Mi único temor es que habrá latencia entre el clic y el audio mientras se crea el elemento. ¿Todavía necesito mi etiqueta inicial de "audio"? Supongo que así es como está precargado? – AlienWebguy
Hah todos los temores desacreditados, gracias! Ahora, ¿cuándo comenzará JQuery a admitir estas funciones para que yo pueda hacer '$ ('selector'). Play()' y qué? – AlienWebguy
Esto es una exageración. Simplemente configure 'currentTime' en' 0': http://stackoverflow.com/a/7005562/352796 – katspaugh