Время загрузки видео HTML5 - PullRequest
1 голос
/ 27 марта 2011

Я пытаюсь рассчитать время измерения HTML 5 видео.Я использую javascript для прослушивания html5 видео событий loadstart и canplaythrough, используя:

media.addEventListener('loadstart'getStartTime(){
 startTime = new Date().getTime();},
 false)

и аналогичный для endTime с событием, установленным как canplaythrough для прослушивания.Однако я не мог получить никаких данных.

Может, кто-нибудь подскажет, как измерить время загрузки видео с помощью javascript.

Спасибо за ваш ответ, но я считаю, что решение - использование jQuery.Тем не менее, мне было интересно, если это возможно из JavaScript.Я приложил копию моих кодов:

function loadVideo () {var timeNow = Date.now (), timeStartLoad, timeFinishLoad;myVideos = new Array ();myVideos [0] = "trailer.mp4";myVideos [1] = "trailer.ogg";myVideos [2] = "trailer.m4v";var videoId = document.getElementById ('idForVideo');var video = document.createElement ('video');for (var i = 0; i

}, однако я получаю неопределенное значение для timestartLoad и timeFinishLoad. В моем html-теле есть ссылка на метод onload для этой функции.

Ответы [ 3 ]

4 голосов
/ 27 марта 2011

Ваш код имеет некоторые проблемы с копированием и вставкой.

var timeInit = Date.now(), timeLoad, timeCanPlay;

$("movie").addEventListener('loadstart', function(){
  timeLoad = Date.now();
    $("t1").innerHTML = "load: " + (timeLoad - timeInit) + " msecs";
});

$("movie").addEventListener('canplaythrough', function(){
  timeCanPlay = Date.now();
  $("t2").innerHTML = "canplay: " + (timeCanPlay - timeLoad) + " msecs";
});

$("movie").src = "http://ia600208.us.archive.org/12/items/FarSpeak1935/FarSpeak1935_512kb.mp4";

$("movie").play();

Попробуйте: http://jsfiddle.net/noiv/98xZP/:

0 голосов
/ 28 ноября 2013

Хотя я не могу комментировать, я добавил форк к скрипте, опубликованной выше @noiv, так как скрипка имела некоторые ошибки JS. Спасибо @noiv за то, что направил меня в правильном направлении.

http://jsfiddle.net/truedat101/Gbfj2/7/

$("movie").addEventListener('loadstart', function(){
    timeLoad = Date.now();
    console.log("loadstart event time: " + timeLoad + ", delta: " + (timeLoad - timeInit));
    // alert("loadstart event time: " + timeLoad + ", delta: " + (timeLoad - timeInit));
});

Стоит отметить, что whatwg пытается добиться некоторого единообразия в отношении метрик видео в браузере, чтобы браузер поддерживал некоторые общие атрибуты, хотя уже кажется, что эта работа будет разделена на партийные линии с Mozilla поддерживает свои собственные показатели, команда Chromium поддерживает их и Apple Safari поддерживает их.

0 голосов
/ 29 марта 2011

Эй, я понял это.Причина, по-видимому, связана с быстрым откликом браузера, который извлекает данные до того, как событие будет перехвачено.Решение, предоставленное Opera, похоже, работает.Включите прослушиватель событий во встроенный скрипт и создайте addEventListener для оконного объекта.Более подробная информация по адресу: http://dev.opera.com/articles/view/consistent-event-firing-with-html5-video/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...