2011-10-05 8 views
5

Con la nueva etiqueta de audio Html5, el evento de activación solo parece activarse la primera vez que se reproduce el audio. En este ejemplo, al hacer clic en "Reproducir", el audio comienza con una alerta emergente que muestra "Reproducción". Cuando el audio ha terminado y se hace clic en "Reproducir" nuevamente, el audio se inicia nuevamente pero no se dispara ninguna alerta. ¿Me estoy perdiendo de algo? ¿Tengo que restablecer el audio de alguna manera?Html5 controlador de eventos 'onplay' perezoso para la etiqueta de audio?

<a href="#" onclick="$('#audio')[0].play();">Play</a> 

<audio preload="none" id="audio" onplay="alert('playing');"><source type="audio/wav" src="..."></source></audio> 

También he intentado vincular el evento de juego con jQuery, pero obtengo los mismos resultados.

<a href="#" onclick="$('#audio')[0].play(); return false;">Play</a> 

<audio preload="none" id="audio"><source type="audio/wav" src="..."></source></audio> 

<script type="text/javascript"> 

    $(document).ready(function() { 

     $('#audio')[0].bind('play', function() { 

      alert("Playing"); 

     }); 

    });  

</script> 

Respuesta

7

onplay se ejecuta cuando los medios de comunicación está listo para empezar a correr,

El elemento ya no está en pausa. Disparado después de que el método play() haya devuelto , o cuando el atributo de reproducción automática haya provocado que comience la reproducción.

toma de la spec

Usted podría intentar

<input type="button" value="Play" id="play_pause" onclick="audio.play()"> 

y luego

var play_pause = document.getElementById('play_pause'); 
video.onpause = function(e) { 
    play_pause.value = 'Play'; 
    play_pause.onclick = function(e) { video.play(); } 
} 
video.onplay = function(e) { 
    play_pause.value = 'Pause'; 
    play_pause.onclick = function(e) { video.pause(); } 
} 

source

+1

Bueno voy a estar .. Sí, estoy buscando para el evento on-play o vinculante al evento 'jugando' en jQuery. Gracias Mansuro! – Levitikon

Cuestiones relacionadas