gpt4 book ai didi

jquery - 为什么当我尝试获取缓冲时间时,audio.buffered.end(0) 会收到错误消息

转载 作者:行者123 更新时间:2023-12-03 22:20:38 24 4
gpt4 key购买 nike

我正在使用 HTML5 和 jQuery 构建 mp3 播放列表播放器。在这个播放器上有一个水平条随着mp3文件的缓冲呈现而逐渐增长。

这是我的完整代码: get buffered end

HTML5:

<audio id="music" controls>
<source src="https://archive.org/download/musicTestAudio27/Very%20nice%20%2827%29.mp3" type="audio/mpeg">
</audio>
<br/>
<div id="buffered"></div>

CSS:

#buffered{
border:solid #ccc 1px;
height:10px;
background:red;
display:block;
width:1%;
}

Javascript:

var track = document.getElementById("music");
setInterval(function(){
var w = 100*(track.buffered.end(0))/track.duration;
$('#buffered').css("width",w+"%");
}, 1000);

但是 Firefox 给我一条错误消息:

IndexSizeError: Index or size is negative or greater than the allowed amount

var w = 100*(track.buffered.end(0))/track.duration;

谷歌浏览器说:

Uncaught IndexSizeError: Failed to execute 'end' on 'TimeRanges': The index provided (0) is greater than or equal to the maximum bound (0).

最佳答案

我相信在元素初始化之前访问 buffered.end 时会出现错误。您可以重写该代码以避免它

track = document.getElementById("music");
track.onprogress = function(){
var w = 100*(track.buffered.end(0))/track.duration;
$('#buffered').css("width",w+"%");
}

关于jquery - 为什么当我尝试获取缓冲时间时,audio.buffered.end(0) 会收到错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25651719/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com