HTML5 видео не может воспроизводиться после паузы

0

Я борюсь с автоматической паузой, а затем снова играю (вручную). Видео приостанавливается через 2 секунды, и это нормально. Теперь есть еще одна кнопка, и при нажатии этой кнопки видео должно начинаться с позиции, в которой она была приостановлена.

Вот мой код (html):

<div class="restart">Restart after pause</div>
<video id="video" width="400" height="400" id="video" src="http://media.w3.org/2010/05/sintel/trailer.mp4" controls autoplay />

JQuery:

jQuery(document).ready(function ($) {

    $('#video').get(0).play();


    setInterval(function () {
        if ($('#video').get(0).currentTime >= 2) {
            $('#video').get(0).pause();
        }
    }, 100);


    $(".restart").click(function(event){

         $('#video').get(0).play();


    setInterval(function () {
        if ($('#video').get(0).currentTime >= 6) {
            $('#video').get(0).pause();
        }
    }, 100);
    });

});

Я определенно не на правильном пути относительно текущего времени и установленного времени. Пожалуйста, предложите.

JSFiddle - это

http://jsfiddle.net/squidraj/KmQxL/10/

Заранее спасибо.

  • 1
    если вы не очистите свой интервал, он всегда будет останавливаться, так как currentTime будет больше или равен 2
  • 1
    также вместо интервалов используйте событие timeupdate
Показать ещё 9 комментариев
Теги:
video

1 ответ

2

Просмотрите эту скрипту: http://jsfiddle.net/VZuuF/1/

Я избавился от ваших setIntervals, так как они не являются необходимыми при timeupdate события timeupdate.

$(document).ready(function()
{
    var checkedFirst = false;
    var checkedSecond = false;
    $player = $('#video').get(0);
    $player.play();

    $player.addEventListener('timeupdate', function(event)
    {
        console.log($player.currentTime); 
        if ($player.currentTime >= 2 && !checkedFirst)
        {
            checkedFirst = true;
            $player.pause();
        }

        if ($player.currentTime >= 6 && !checkedSecond)
        {
            checkedSecond = true;
            $player.pause();
        }
    });


    $(".restart").click(function(event)
    {
        $player.play();
    });
});
  • 0
    Brilliant. Я немного изменил, так что теперь у меня есть два элемента управления. Большое спасибо за вашу помощь. Я начал сегодня утром, а сейчас уже 8 вечера. Много учился. Еще раз спасибо.
  • 0
    Привет, Ронни, еще раз спасибо. Я только что реализовал в своем исходном коде и отлично работает. Спасибо большое.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню