2011-03-17 25 views
5

¿Cómo puedo obtener una devolución de llamada cuando la etiqueta de audio está lista para reproducir. (decirle al usuario, al implementar mis propios controles)HTML5 Audio onLoad

Usar Chrome.

Respuesta

7

Solo han hecho esto en el elemento de video, pero debería funcionar para audio.

En primer lugar, no puede vincular el evento, no sé por qué eso no funciona. Entonces debes usar setTimeout.

Ejemplo usando jQuery:

$(function(){ 
    var audioReady = function(){ 
     if (youraudioelement.attr('readyState')) { 
      alert("it's ready!"); 
     } else { 
      setTimeout(audioReady, 250); 
     } 
    } 
    audioReady(); 
} 

Más información: http://www.w3.org/TR/html5/video.html#the-ready-states

+0

No es óptimo, pero supongo que no hay otra opción ... Gracias – yydl

+1

Acabo de comprobar el evento 'loadeddata' y funciona bien en las últimas versiones de IE, Chrome y FF. Aún no he probado navegadores más antiguos o móviles. –

4

¿Puede usted se une al evento onloadeddata? Esto funciona para mi. W3C Reference

+0

Este es el mejor anwser –

0

¿Has visto el evento canplaythrough?