Как часто срабатывает событие 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/