Как вы можете определить, прослушивался ли аудио тег HTML5 хотя бы x секунд? - PullRequest
10 голосов
/ 08 августа 2011

Я хотел бы войти, когда пользователи прослушивают аудиоэлемент в течение более 5 секунд.Как я могу обнаружить это с помощью HTML5?

1 Ответ

3 голосов
/ 08 августа 2011

Я бы обработал событие воспроизведения, а затем использовал бы трек вызова setTimeout, когда они закончили. Примерно так (псевдокод):

    var timeHandler = null;

// if they stop listening, don't give them the alert
   myAudioElement.addEventListener('stop', function() {
     if (timeHandler) clearTimeout(timeHandle);
   });

// when they start to play, set an event to pop up 5 seconds later
    myAudioElement.addEventListener('play', function() {
        timeHandler = setTimeout(5000,function() {
          // here I would make some kind of ajax call to log the event
          alert("it's been 5 seconds!");
        });

Как всегда, это может быть намного сложнее в зависимости от ваших потребностей. Вы также можете просто использовать событие ontimeupdate, чтобы отследить, где сейчас находится точка воспроизведения. Справочную информацию о звуковых событиях html5 можно найти на этой странице:

https://developer.mozilla.org/en/DOM/Media_events

Удачи!

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