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

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

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

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

2 ответов


по данным эта страница Bugzilla:

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


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

_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));

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

код cribbed от http://remysharp.com/2010/07/21/throttling-function-calls/