HTML5中有一个功能可以显示视频中缓冲时间范围的范围。我想展示最后添加的'缓冲'部分,但事实证明这很困难。
基本上,当您点击视频中的某个时间(比方说00:16)时,如果视频尚未显示,则视频会开始缓冲。因此,当视频加载时,我们最终得到一个16s-18s,16s-20s等缓冲区。现在让我们说在视频中没有缓冲的地方之前点击其他地方。所以我点击00:05。 'buffered'数组将有16-20s和5s-6s,或者加载很多。
然而,5s-6s将在时间范围阵列中的16s-20s之前添加。这意味着我们不能只选择数组的最后一个元素作为最新的缓冲部分,而是必须选择第一个元素。然后,如果您在5s标记之前单击其他位置,则最终会使数组的第一部分成为不同的值。由于它们是以这种方式添加的,因此无法找到最新的缓冲区。
找到这个的最佳方法是什么?
答案 0 :(得分:2)
最简单的方法是在每次向缓冲区添加新内容时,在TimeRanges
属性中复制buffer
对象。然后,您可以使用此“历史记录”查找添加时间范围的顺序。
例如,使用jQuery:
var history = [];
$(yourvideo).on("seeked",function(){
history.push(jQuery.extend({}, this.buffered));
});