如何在数据可用时执行音频持续时间警报?
How to execute alert of the audio duration when data is available?
None 这些技巧对我有用...
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)
您添加了两次事件处理程序,if 需要在里面
var audio=new Audio("sample.mp3");
audio.onreadystatechange=function(){
if(audio.readyState===4){
alert(audio.duration);
}
}
试试这个:
audio.addEventListener('canplaythrough', function() {
alert(audio.duration);
}, false);
试试这个:
var audio=new Audio("sample.mp3");
audio.addEventListener('onreadystatechange',alertAudio;);
function alertAudio(){
if(audio.readyState===4){
alert(audio.duration);}
}
为什么不使用 oncanplay
事件?类似于:
var audio=new Audio("sample.mp3");
audio.oncanplay = function(){ alert(audio.duration); };
oncanplay
事件在信息足够且音频准备好开始播放时触发。
None 这些技巧对我有用...
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)
您添加了两次事件处理程序,if 需要在里面
var audio=new Audio("sample.mp3");
audio.onreadystatechange=function(){
if(audio.readyState===4){
alert(audio.duration);
}
}
试试这个:
audio.addEventListener('canplaythrough', function() {
alert(audio.duration);
}, false);
试试这个:
var audio=new Audio("sample.mp3");
audio.addEventListener('onreadystatechange',alertAudio;);
function alertAudio(){
if(audio.readyState===4){
alert(audio.duration);}
}
为什么不使用 oncanplay
事件?类似于:
var audio=new Audio("sample.mp3");
audio.oncanplay = function(){ alert(audio.duration); };
oncanplay
事件在信息足够且音频准备好开始播放时触发。