html 音频持续时间返回NaN

ee7vknir  于 2022-12-16  发布在  其他
关注(0)|答案(1)|浏览(126)

我有一个音频元素数组,我需要返回它们的持续时间,但它返回NaN!

let quran = document.querySelectorAll(".question-one audio")

console.log(quran[0].duration) // NaN ((??)
console.log(quran[0].currentTime) // 52 (works properly)

我尝试了很多,但a无法解决这个问题,知道我使用了相同的(持续时间)方法与视频元素和它的工作

2skhul33

2skhul331#

将preload=“metadata”添加到标记中,使其请求音频对象的元数据:

<audio controls id="testTone" preload="metadata">
    <source src="autoharp/tone0.ogg" type="audio/ogg">
</audio>

在您的代码中,附加一个事件处理程序,以设置加载元数据的持续时间:

var au = document.getElementById("testTone");
au.onloadedmetadata = function() {
    console.log(au.duration)
};

相关问题