首页 > 解决方案 > 获取用户在 jwplayer 中观看视频的总时间

问题描述

我想从 jwplayer 捕获视频的总播放/观看时间。使用下面的示例代码。

jwplayer("player").setup({
    "playlist": [
        {
            "sources": [
                {
                    "default": false,
                    "file": 'https://content.jwplatform.com/manifests/yp34SRmf.m3u8',
                    "label": "0",
                    "type": "hls",
                    "preload": "meta"
                }
            ]
        }
    ],
    "height": "240",
    "width": "100%",
    "aspectratio": "16:9",
    "stretching": "uniform",
    "controls": true,
    "autostart": true
});

jwplayer("player").on('time', function (e) {
    var count = this.getPosition();        
});

你能帮我做这件事吗?

标签: javascriptjqueryjwplayerjwplayer6jwplayer7

解决方案


您可以通过这个简单的逻辑获得视频播放的总毫秒数

// In ms
var totalPlayBackTime = 0

setInterval(
    function() {
        if(player.getState() == "playing") {
            totalPlayBackTime = totalPlayBackTime + 500
        }
    },
    500
);

此处代码将每 500 毫秒执行一次,以检查播放器是否正在播放。如果是,则在总播放时间上增加 500 毫秒。读取totalPlayBackTime变量以获取播放时间。

这样您就不必依赖 jwplayer 事件

注意:我没有用广告测试过这个。


推荐阅读