Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Отследить воспроизведение аудио (https://javascript.ru/forum/events/78922-otsledit-vosproizvedenie-audio.html)

Galyanov 22.11.2019 18:10

Отследить воспроизведение аудио
 
Всем привет:)

Подскажите плиз, никак не допру своей головой.

Есть такой код:
<audio controls controlsList="nodownload" id="audio1">
   <source src="audio/audio1.ogg" type="audio/ogg">
   <source src="audio/audio1.mp3" type="audio/mp3">
   Ваш браузер не поддерживает тег audio!
</audio>


Хочу повесить цель Яндекс Метрики на воспроизведение аудио. Аудио на странице несколько.

Можно ли как-то отследить, когда начинается воспроизведение аудио, чтобы потом отправлять reachGoal Яндекса?

Клики по элементу audio не срабатывают, надо именно воспроизведение отследить.

Нашел такое событие:
playing - Отправляется, когда начинается воспроизведение медиа (в первый раз, после паузы или после перезапуска).

На jquery подозреваю это не сделать, а в java я совсем не силен.
Буду благодарен за помощь в данном решении.

Vlasenko Fedor 22.11.2019 18:39

$('audio').on('play', function(e) {
  alert(e.target.currentSrc);
});

Вы же сами все нашли

Galyanov 23.11.2019 02:44

Все гениальное просто)

А я вот что наваял. Поверх аудио наложил блок типа фейковое аудио, с надписью прослушать. При клике этот блок пропадает, и появляется и проигрывается скрытый до этого аудио, и одновременно отправляется метрика.

$('.fakeSound').each(function(index) {
        $(this).on("click", function() {
            var audio = $(this).siblings();
            audio.css("visibility", "visible")
            audio[0].play();
            $(this).css("display", "none");
            index=index+1;
            idMetric='playaudio'+ index;
            yaCounter56352487.reachGoal(idMetric);
        });
    });


:lol:


Часовой пояс GMT +3, время: 13:08.