Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   html5 video процент загрузки (https://javascript.ru/forum/misc/50901-html5-video-procent-zagruzki.html)

FoxTrix 16.10.2014 13:10

html5 video процент загрузки
 
Добрый день.
При работе с html5 video возникла необходимость сделать прогресс бар загрузки видео, я смог найти только несколько разнообразных событий о том что видео загружено, но как получить процент загрузки так и не нашёл =(
Существует ли вообще такая возможность?

kostyanet 16.10.2014 13:28

И даже тут нет подходящего? http://www.w3schools.com/tags/av_event_progress.asp

FoxTrix 16.10.2014 13:35

Цитата:

Сообщение от kostyanet (Сообщение 335982)
И даже тут нет подходящего? http://www.w3schools.com/tags/av_event_progress.asp

Это я видел, это событие загрузки, а мне нужна степень загрузки(процент)

kostyanet 16.10.2014 13:43

Это не onload, это прогресс. Нажмите там на трай ерселф - сколько алертов выпадет? - Столько и было событий.

Если мерять в байтах то надо знать сколько всего и качать как файл, а это другая история.

kostyanet 16.10.2014 13:46

http://tiffanybbrown.com/2010/07/05/...rogress-event/

FoxTrix 16.10.2014 13:53

Цитата:

Сообщение от kostyanet (Сообщение 335991)
Это не onload, это прогресс. Нажмите там на трай ерселф - сколько алертов выпадет? - Столько и было событий.

Я понял что это не событие "видео загружено", а событие "видео загружается", но это всё же событие, а нужен мне параметр, как например можем же мы получить currentTime

FoxTrix 16.10.2014 13:58

Цитата:

Сообщение от kostyanet (Сообщение 335992)

здесь я тоже был, пробовал так
var v1 = document.getElementById('v1');
v1.addEventListener("progress", function (e) {
	if(e.total && e.loaded){
		var proportion = Math.round( e.loaded / e.total ) * 100;
		console.log(proportion);
	}
}, false);

и так
var v1 = document.getElementById('v1');
v1.addEventListener('progress',progressHandler,false);

function progressHandler(e){
	if(e.total && e.loaded){
		var proportion = Math.round( e.loaded / e.total ) * 100;
		console.log(proportion);
	}
}

в консоли вообще ничего не пишет =\

kostyanet 16.10.2014 21:10

В первом каменте там все написано. Я тоже писал - скачивание файла и скачивание видоса - это разные вещи. Файл пока не скачается - он не файл, а видео фактически струячит. Ну, пока не укачается целиком оно является потоком. Так вот как вы измерите длину струи? Только через файл. Подозреваю на тытубе так и сделано. Один прогресс показывает сколько скачалось файла, второй сколько наструилось (смотрено). Если струя догоняет даунлоад возникают лаги.

kostyanet 16.10.2014 21:16

Тут надо понять что когда вы смотрите то, что не скачалось еще целиком - вы смотрите на тот самый progress bar, только с красивыми картинками и звуком. То есть у вас и так все уже есть. Зная общее время и текущее место браузер показывает масштабную линейку и пумпочку на ней - вот тут вы.

Чтобы добавить еще один прогресс - кроме самого кина - надо добавлять еще один прогресс. Файловый не прикрутишь, нерелевантно, надо ждать фичи. Что там пишут про какой-то TimeRange или типа того.

kostyanet 16.10.2014 21:18

Вот это оно или не оно https://developer.mozilla.org/en-US/...ng_time_ranges


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