Сделали это только с видеоэлементом, но он должен работать для аудио.
Во-первых, вы не можете связать событие, я не знаю, почему это не работает.Поэтому вы должны использовать setTimeout.
Пример использования jQuery:
$(function(){
var audioReady = function(){
if (youraudioelement.attr('readyState')) {
alert("it's ready!");
} else {
setTimeout(audioReady, 250);
}
}
audioReady();
}
Дополнительная информация: http://www.w3.org/TR/html5/video.html#the-ready-states