HTML5视频 - 测量播放

时间:2012-10-04 21:12:21

标签: html5 video

是否可以衡量“视频”标签的观看时间?我看到它有'onplaying'和'onpause'事件,所以我可能会伪造一个计时器。

只是想知道是否还有其他东西丢失了。

3 个答案:

答案 0 :(得分:1)

HTML5媒体元素触发'timeupdate'事件。见http://dev.w3.org/html5/spec/media-elements.html#event-mediacontroller-timeupdate。当该事件触发时,您可以检查当前时间的.currentTime和视频长度的.duration。它还会触发'durationchange'事件。

完整的HTML5媒体DOM接口规范:http://dev.w3.org/html5/spec/media-elements.html

答案 1 :(得分:0)

答案 2 :(得分:0)

我试图在我正在进行的项目中完成同样的事情。 我是用jquery stopwatch plugin做的。

这是你需要的JS:

var w = new Stopwatch();

document.querySelector("#video").addEventListener("playing", Start, false);
document.querySelector("#video").addEventListener("pause", Stop, false);
document.querySelector("#video").addEventListener("waiting", Stop, false);

function Start() {
    if ($("#video").get(0).paused == true)
        Stop();
    else
        w.start();
}

function Stop() {
    w.stop();
}

这就是你获得经过的观看时间(以毫秒为单位)的方式:

var e = w.getElapsed();
time = (((e.hours * 3600) + (e.minutes * 60) + e.seconds) * 1000 + e.milliseconds); // Total view time

请记住 - 这不是最准确的方法,但这是我用我的编码技巧完成的最好的方法。

祝你好运!