javascript - HTML5 视频 - 如何检测视频的特定部分何时加载

标签 javascript jquery html video

我正在使用 HTML5 加载视频,并观看如下的进度事件:

var progressEventHandler=function(e){

};
var cn,domTarget='#vid';
cn=$(domTarget);
cn[0].addEventListener('progress',progressEventHandler,false);

我只想播放该视频的一部分。我想知道该部分何时完全加载。我不想知道整个视频何时加载,只知道这一部分。

我的问题是这样的:

是否有任何方法可以使用进度事件来确定何时加载了一定量的视频?

我假设加载的文件的 50% 相当于能够播放视频的前半部分,这样的假设是否正确?

TIA

最佳答案

使用 HTMLMediaElementbuffered 属性。

The ranges of the media source that the browser has buffered (if any) at the moment the buffered property is accessed. The returned TimeRanges object is normalized.

source

展示用法的简单示例:

var video = document.querySelector('video');
...
// Attach this to any event. Note that only first range is printed.
var buffered = video.buffered;
console.log(
  'The browser has buffered: ' + buffered.start(0) + ' - ' + buffered.end(0) + ' sec'
);

关于javascript - HTML5 视频 - 如何检测视频的特定部分何时加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23429835/

相关文章:

javascript - Cordova 类似页面的应用程序中的多个谷歌地图

javascript - 在javascript中通过.indexOf()传递两个变量?

JQuery AppendTo 标题属性

html - 为什么背景图像没有根据屏幕尺寸做出响应?

Javascript 正则表达式空白检测

javascript - Jquery滚动事件导致性能问题

javascript - 如果按下按钮或按下 Enter 按钮 Jquery

html - 当尺寸变得超小时, Bootstrap : Accomplish left-, 表单元素的右边距?

html - 元素在移动端显得更小

javascript - 禁用 css/javascript 动画(转换 : translate3d)