1

HTML5 中有一个函数可以显示视频中缓冲时间范围的范围。我想展示最后添加的“缓冲”部分,但事实证明这非常困难。

基本上,当您单击视频中的某个时间(比如说 00:16)时,如果视频还没有缓冲,它就会开始缓冲。因此,随着视频的加载,我们最终会得到一个 16s-18s、16s-20s 等的缓冲区。现在假设我们在视频中没有缓冲的地方点击之前的其他地方。所以我点击 00:05。“缓冲”数组将有 16-20s 和 5s-6s 或加载多少。

但是,5s-6s 将在时间范围数组中的 16s-20s 之前添加。这意味着我们不能只选择数组的最后一个元素作为最新的缓冲部分,而是必须选择第一个元素。然后,如果您在 5s 标记之前单击其他位置,您最终会得到数组的第一部分是不同的值。由于它们是以这种方式添加的,我找不到添加的最新缓冲区部分。

找到这个的最好方法是什么?

4

1 回答 1

2

最简单的方法是在每次将新内容添加到缓冲区时复制属性中的TimeRanges对象。buffer然后,您可以使用此“历史记录”来查找添加时间范围的顺序。

例如,使用 jQuery:

var history = [];
$(yourvideo).on("seeked",function(){
    history.push(jQuery.extend({}, this.buffered));
});
于 2013-02-26T19:10:05.113 回答