Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   video html5 jQuery (https://javascript.ru/forum/misc/65387-video-html5-jquery.html)

DIGIUS 16.10.2016 07:11

video html5 jQuery
 
Пушу видеоплеер, с целью попрактиковаться и написать велосипед которого не нашёл.
Собственно суть моего велосипеда в том что он склеивает при проигрывании куски видео в одно и показывает в браузере как единое видео.
Видео сменяются при 'ended' или перемотке мышкой по таймлайну.
Video.src = new_link_to_video;
Video.play();
Video.currentTime = new_link_to_video_length;

Кодом с верху сменяется одно видео на другое, проблема в том что не буферизованные видео не запускаются по процедуре
Video.play();
, а при повторном запуске с кнопки Play к которой прикреплена та же процедура видео запускается с начала.
В чем может быть проблема?
Рассматриваю колхозный вариант с кучей блоков <video>.

DIGIUS 16.10.2016 08:53

Это не прыжок а перемотка свежвставленного видео в нужный момент (переменная new_link_to_video_length) в соответствии с таймлайном, каждое видео имеет ссылку (переменная new_link_to_video) и заранее известное точное время в секундах, которое в последствии суммируется и выноситься как общее время видео на таймлайне.
Грубо говоря пришлось колхозить альтернативу Video.currentTime которая глобально считывает общее время воспроизведения для всех вместе взятых видеозаписей.

DIGIUS 17.10.2016 02:39

увы но не могу есть запрет на распространение, но опытным путём я понял что основная проблема кроется в
Video.currentTime = new_link_to_video_length;
с ошибкой из консоли DOMException: Failed to execute 'end' on 'TimeRanges': The index provided (0) is greater than or equal to the maximum bound (0).
Я предполагаю подобная ошибка может возникать из за того что эти процедуры вызываются в теле нажатия на таймлайн без проверки успешности загрузки в функции loadedmetadata.


Прошу прощения за тупость, ошибка возникает из за того что позиция таймлайна не соответствует длинне видео.

Тему в топку.

DIGIUS 17.10.2016 05:06

Зачем если я уже решил проблему и описал то в чём была проблема?


Часовой пояс GMT +3, время: 00:30.