Как искать () затем pause () с JWPlayer 5.4 - PullRequest
6 голосов
/ 23 января 2011

Кто-нибудь знает, как заставить JW PLayer v5.4 (либо рендеринг Flash, либо рендеринг HTML5) сделать паузу после команды seek ()?

Я пытаюсь перевести видео на шаг 0,01 секунды вперед или назад, когда пользователь нажимает кнопки точного управления (или использует клавиши со стрелками влево или вправо). Это сделано для того, чтобы они могли привязывать фреймграб с большей точностью.

Я не уверен, возможно ли это, но я попробовал несколько вещей без удачи. Таких как следующее:

var stepTo = jwplayer("video_player").getPosition() + 0.01;

jwplayer("video_player").seek(stepTo).onComplete(function(){
    jwplayer('video_player').pause();
});

И

jwplayer("video_player").pause().seek(stepTo);

И

jwplayer("jwplayer_container").seek(stepTo).pause();

И

jwplayer("video_player").pause().play().pause();

Я также видел, что плагин «Ярлыки» имеет эту функцию, но этот плагин еще не совместим с v5.4.

Спасибо за любую помощь.

Ответы [ 3 ]

4 голосов
/ 25 января 2011

@ AJB -

Есть билет , чтобы добавить событие «onSeek», запланированное для игрока 5.6. Между тем, лучший способ сделать это, вероятно, что-то вроде этого:

jwplayer("video_player").seek(stepTo);

var pauseOnSeek = true;
jwplayer.onTime(function() {
   if (pauseOnSeek) {
      this.pause();
      pauseOnSeek = false;
   }
});

Если событие onTime () срабатывает до завершения поиска, вы можете обойти его, установив тайм-аут перед определением обработчика onTime ().

0 голосов
/ 24 сентября 2013

Это небольшой вариант кода PabloS:

jwp = var player = jwplayer('target').setup({
    file: '/some-file.mp3'
});

jwp.seek(position);

var pauseOnSeek = true;
jwp.onTime(function () {
    if (jwp.getState() === "PLAYING" && pauseOnSeek) {
        this.pause();
        pauseOnSeek = false;
    }
});

Мне пришлось написать код, который изменил исходный медиафайл, не запуская видео с самого начала.Я хотел справиться с переключением видео, когда оно было приостановлено.Когда я использовал seek и pause в onSeek обратном вызове, он не работал, потому что видео все еще находилось в буфере.Пауза в onTime обратном вызове, как в коде выше, работала как шарм.

0 голосов
/ 09 января 2013

С помощью JW Player 6 вы можете сделать следующее, чтобы остановить воспроизведение видео после поиска:

jwplayer("vidPlayerDiv").onSeek(function () { jwplayer("vidPlayerDiv").pause(); });
...