我有一个音频元素数组,我需要返回它们的持续时间,但它返回NaN!
let quran = document.querySelectorAll(".question-one audio") console.log(quran[0].duration) // NaN ((??) console.log(quran[0].currentTime) // 52 (works properly)
我尝试了很多,但a无法解决这个问题,知道我使用了相同的(持续时间)方法与视频元素和它的工作
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) };
1条答案
按热度按时间2skhul331#
将preload=“metadata”添加到标记中,使其请求音频对象的元数据:
在您的代码中,附加一个事件处理程序,以设置加载元数据的持续时间: