在chrome - js中无法获得音频持续时间

can not get audio duration in chrome - js

本文关键字:音频 持续时间 chrome js      更新时间:2023-09-26

我不能得到audio.duration在铬!
这段代码在firefox中可以运行!

jquery代码:

$(document).ready(function(){
    var audio = document.getElementById('mine');
    alert(audio.duration)
});
HTML:

<audio src='theurl.mp3' controls id='mine'></audio>

尝试使用:

$(window).load(function(){
    var audio = $('#mine')[0];
    alert(audio.duration);
});

On DOM ready表示文档已准备好进行操作,但并非所有元素都已加载(例如图像或iframe)。在这种情况下,控件被加载,但音频文件不被加载。

你甚至可以考虑使用setTimeout来获取持续时间。为了测试这个示例,我尝试:

$(window).load(function(){
    var audio = $('#mine')[0];
    setTimeout(function(){alert(audio.duration);},20);
});

效果很好