javascript - 如何在 video.js 中捕获手动搜索?

标签 javascript video.js

每次我手动查找或使用 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/

相关文章:

javascript - AngularJS 带参数动态排序函数

javascript - JS & ES6 : Access static fields from within class

Javascript 在 Chrome 中执行 javascript 之前确认

jquery - 如何在视频js中创建自定义按钮

javascript - 在 Bootstrap 模式内显示视频 js 视频时出现问题

javascript - Bootstrap Typeahead 渲染问题

javascript - 如何在react-router Handler进入 View 之前识别NotFound?

video-streaming - Video.js/Contrib-HLS 在大多数浏览器中不播放 HLS(代码 :4 MEDIA_ERR_SRC_NOT_SUPPORTED)

javascript - 如何使用 Javascript 更改子类型

javascript - 根据滚动位置触发视频自动播放