我正在用HTML5和jQuery构建mp3播放列表播放器。在这个播放器中,有一个水平条与缓存的MP3文件一起逐渐增长。为什么audio.buffered.end(0)在尝试获取缓冲时间时收到错误消息
这里是我的全码: 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);
但杉木EFOX给我一个错误消息说:
IndexSizeError: Index or size is negative or greater than the allowed amount
var w = 100*(track.buffered.end(0))/track.duration;
和谷歌Chrome说:
Uncaught IndexSizeError: Failed to execute 'end' on 'TimeRanges': The index provided (0) is greater than or equal to the maximum bound (0).
非常感谢。这非常有帮助。我一直在寻找四天。但是现在它的功能就像一个魅力我添加了这个: ** if(track.onprogress){var。w2 = 100 *(track.buffered.end(0))/ track.duration; $('#buffered').css(“width”,w2 +“%”); }'** – user3524045 2014-09-03 20:40:01