这个问题可能是因为轨道的数据还没有完全加载完成所导致的。可以采用预加载的方式来解决。 示例代码如下:
var audio = new Audio(); audio.src = "track.mp3"; audio.preload = "metadata"; audio.addEventListener("loadedmetadata", function() { console.log("Duration: " + audio.duration); });
首先,需要创建一个 Audio 对象,并将轨道的 URL 设置为其 src 属性值。然后,设置其 preload 属性为 metadata,这意味着浏览器将只加载音频文件的元数据,包括时长、码率和样本率等信息。一旦加载完成,可以通过在 loadedmetadata 事件侦听器中调用 audio.duration 属性来获取轨道的时长。这样,当用户开始播放轨道时,它将已经被完全加载,并且可以进行快进和快退。
上一篇:播放器的标记语言