我正在使用video.js(http://www.videojs.com/)构建视频批准系统,并且需要在播放器中记录用户操作。我可以通过播放,暂停,结束等操作来轻松完成此操作,但是在尝试记录搜寻时遇到了问题。
我希望能够记录此次事件中任何寻道的开始和结束时间,因此我们知道用户是否实际上没有观看视频的一部分。播放器似乎提供了支持此功能的事件,但我正在努力从中获取正确的时机。
当用户跳过视频时,播放器将按顺序发出以下事件:暂停,搜索,搜寻,播放。
如果我使用currentTime()在任何这些事件中查询播放器对象,则结果始终是搜寻的结束时间,即使是在初始暂停事件上也是如此。这意味着我可以记录搜寻结束的位置,但不能记录开始的位置。
谁能帮助我在视频中找到搜寻的位置?
如果无法做到这一点,我会选择一种在播放过程中禁止搜索的方法。
编辑:根据要求添加代码。很简单:
var trackedPlayer = videojs('pvp-player');
trackedPlayer.on("play", function (e) {
console.log("Video playback started: " + trackedPlayer.currentTime());
});
trackedPlayer.on("pause", function (e) {
console.log("Video playback paused: " + trackedPlayer.currentTime());
});
trackedPlayer.on("seeking", function (e) {
console.log("Video seeking: " + trackedPlayer.currentTime());
});
trackedPlayer.on("seeked", function (e) {
console.log("Video seek ended: " + trackedPlayer.currentTime());
});
trackedPlayer.on("ended", function (e) {
console.log("Video playback ended.");
});
Run Code Online (Sandbox Code Playgroud)
如果我可以获取所有跟踪信息,我将用ajax调用替换console.log来存储数据。