How can I get a callback when the audio tag is ready to play. (to tell the user, when implementing my own controls)
Using Chrome.
Can you not bind to the onloadeddata
event? It works for me. W3C Reference
Have only done this on the video element but it should work for audio.
Firstly, you can't bind the event, I don't know why that doesn't work. So you have to use setTimeout.
Example using jQuery:
$(function(){
var audioReady = function(){
if (youraudioelement.attr('readyState')) {
alert("it's ready!");
} else {
setTimeout(audioReady, 250);
}
}
audioReady();
}
More info: http://www.w3.org/TR/html5/video.html#the-ready-states
Have you looked at the canplaythrough event?