每次我手动查找或使用 player.currentTime(time)
进行更改时,video.js 中都会触发一个 seeked
事件。是否有可能区分这些工作流程?
谢谢。
最佳答案
一种选择是对player.currentTime
进行猴子补丁,以便在调用时设置一些变量(例如,记录时间戳)。然后,您可以检查 seeked
处理程序中的时间戳,并确定 currentTime
是否最近被调用,以至于它可能是 seeked
事件的原因.
var timeOfLastTimeChange = 0;
(function() {
var realCT = player.__proto__.currentTime;
player.__proto__.currentTime = function(time) {
timeOfLastTimeChange = Date.now();
return realCT.apply(this, arguments);
}
})();
然后在您的 seeked
处理程序中执行 Date.now() - timeOfLastTimeChange
来查看自调用 currentTime
以来的毫秒数。如果它大于某个阈值,则假设更改是由于用户交互而发生的。
关于javascript - 如何在 video.js 中捕获手动搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56448613/