我正在设计一个自定义HTML5视频播放器.因此,它将有自己的自定义滑块来模仿视频进度,所以我需要了解HTML5视频的整个缓冲shebang .
我看到了这篇文章:视频缓冲.它表示缓冲对象由几个时间范围组成,它们以开始时间的线性顺序排列.但我找不到以下内容:
说视频开始了.它自己一直持续到1:45(偶尔也会停滞,等待进一步的数据),之后我突然跳到32:45.现在过了一段时间,如果我跳回到1:27(在最初加载和播放的时间范围内,在我跳跃之前),它会立即开始播放,因为之前已经加载了吗?或者是因为我跳了一下,那部分会丢失并且必须再次取出?无论哪种方式,所有这些情况的行为是否一致?
假设我做了5或6次这样的跳转,每次等待几秒钟以便在跳转后加载一些数据.这是否意味着该buffered对象将存储所有这些时间范围?或者有些人会迷路?它是一种堆栈类型的东西,因为更多的范围由于进一步的跳跃而加载,早期的范围会弹出吗?
将检查buffered对象是否具有从0开始的一个时间范围(忘记直播流)并以视频持续时间长度结束,以确保整个视频资源已完全加载?如果没有,是否有某种方式可以知道整个视频已被下载,并且任何部分都是可搜索的,视频可以连续播放而不会有片刻的延迟?
W3C规范在这方面不是很清楚,我也找不到一个适当大的(比如一个多小时)远程视频资源来测试.