Подтвердить что ты не робот

Как часто срабатывает событие timeupdate для видео html5

Изучение материалов html5. Это довольно здорово! Интересно, как часто происходит событие timeupdate.

ПРИМЕЧАНИЕ: Существует так много интересных возможностей с js video api. Например, можно было бы использовать ctrl + F для поиска по видео. Запустите распознавание голоса как часть обработки видео, затем создайте хранилище с длинными ключами с отметками времени как клавиши и слова как значения и напишите функцию, которая ищет экземпляры этих слов, но возвращает метки времени и ищет ваше видео. В любом случае, только одна сумасшедшая идея youtube должна прыгать.

Любая помощь с timeupdate была бы потрясающей!

4b9b3361

Ответ 1

В соответствии с этой страницей Bugzilla:

Firefox запускает событие timeupdate один раз за кадр. Safari 5 и Chrome 6 срабатывают каждые 250 мс. Opera 10.50 срабатывает каждые 200 мс.

Ответ 2

Я использовал общую дроссельную функцию

_self.throttle = function (fn, threshhold, scope) {
    threshhold || (threshhold = 250);
    var last,
        deferTimer;
    return function () {
        var context = scope || this;

        var now = +new Date,
            args = arguments;
        if (last && now < last + threshhold) {
            // hold on to it
            clearTimeout(deferTimer);
            deferTimer = setTimeout(function () {
                last = now;
                fn.apply(context, args);
            }, threshhold);
        } else {
            last = now;
            fn.apply(context, args);
        }
    };
};

и подключил его с помощью

myPlayer.on('timeupdate', window.vm.throttle(function () {
        window.vm.setWatched(myPlayer.currentTime());
    }, 3000));

надеюсь, что это поможет кому-то.

code cribbed from http://remysharp.com/2010/07/21/throttling-function-calls/