それらのトリックはどれも私にはうまくいきません...
var audio=new Audio("sample.mp3");
audio.addEventListener('onreadystatechange',function({alert(audio.duration);});
if(audio.readyState===4){alert(audio.duration);}
audio.onreadystatechange=function(){alert(audio.duration);};
このデータが利用可能な場合 (audio.readyState===4 の場合) に、オーディオの長さのアラートを実行したい。まあ...このデータをできるだけ速く取得する別の魔法がない限り(settimeoutまたはsetIntervalを使用せずに)