evve
@evve

Почему тормозит воспроизведение видео, если управлять воспроизведением через события html5-video?

Необходимо сделать "закладки" на видео - проигрывание кусочков видео с заданным интервалом. Это удобно когда есть лекция(около 1 часа), а пользователям иногда требуется посмотреть или несколько техник, которые занимают 5-10 минут. Искать и листать пользователю самому тоже не очень удобно.
<video id="video" tabindex="0" loop="loop" controls="controls" width="480" height="360">
        <source src="day1.mp4" type="video/mp4;" />
</video>
          <p><a id="fastFwd"  onclick="skip(60, 68)">Отрезок 1</a></p>
          <p><a id="fastFwd"  onclick="skip(300, 308)">Отрезок 2</a></p>

function skip(value, endtimeoffset) {
        var video = document.getElementById("video");
        video.currentTime = value;
        video.play();
		video.addEventListener("timeupdate", function() {
			if (video.currentTime >= endtimeoffset) {
			video.pause();
		}}, false);


Как-то криво срабатывает когда пользователь нажал и начал смотреть один отрезок, потом нажал другой. Второй воспроизводиться с задержкой несколько секунд, если пользователь не начал панику и тыкать беспорядочно по разным отрезкам, то видео включается. Как сделать, чтобы отрезок, который включается не первым сразу воспроизводился или хотя бы показать, что воспроизведение сейчас пойдет - подождите пару секунд?
  • Вопрос задан
  • 851 просмотр
Пригласить эксперта
Ответы на вопрос 1
S-ed
@S-ed
Комбайнёр
Лучше вынести var video = document.getElementById("video"); в отдельную функцию которая будет срабатывать только при загрузке видео. Вы каждый раз парсите DOM.
function skip(value) {
        video.currentTime = value;
}

Работает без задержек.
Ну и кеширование может быть причиной.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы