1

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

只是想知道我是否还缺少其他东西。

4

3 回答 3

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

于 2012-10-05T01:06:39.037 回答
0
videoElement.currentTime

在 jsFiddle 上试试吧!

来源:https ://developer.mozilla.org/en-US/docs/DOM/HTMLMediaElement

于 2012-10-04T21:18:11.930 回答
0

我试图在我正在从事的项目中完成同样的事情。我使用jquery 秒表插件做到了。

这是您需要的 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

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

祝你好运!

于 2014-03-17T11:58:32.507 回答