如何回顾JWPlayer("寻找")回调

时间:2016-12-19 09:21:27

标签: javascript ruby-on-rails jwplayer7

我想在JWPlayer 7的回调('寻找')回调中寻找视频到特定位置

我正在遵循本指南seek

但问题是,它进入循环

instance = jwplayer("myDiv").setup({
    "file": "http://techslides.com/demos/sample-videos/small.mp4"
});

instance.on("seek", function(e) {
   alert("Hello");
   instance.seek(2)
});

JSFiddle

1 个答案:

答案 0 :(得分:0)

这是预期的 - 对.seek()方法的调用将触发后续的“搜索”事件 - 因此你将进入一个永无止境的循环。

您需要做的是区分通过代码触发的“搜索”事件与用户交互,然后使“onSeek”代码以此为条件。

执行此操作的一种简单方法是将“单击”侦听器附加到JW搜索栏HTML元素 - 然后您可以检测到搜索是用户启动的,并根据此交互执行“重新搜索”:

instance.on('ready',function(){
    var container = instance.getContainer();
    var slider = container.querySelectorAll('.jw-slider-container');
    if(slider && slider[0]) slider[0].addEventListener("click", function() { instance.seek(2); }, true);
});

然后您也不需要包含“onSeek”侦听器功能。