Я ищу лучший способ регистрации того, что встроенный аудиофайл на странице воспроизводится. Мой первый инстинкт - попытаться скрыть запрос AJAX всякий раз, когда нажимается кнопка воспроизведения.Отключение запроса AJAX при воспроизведении звука
Я смотрю на Media Events docs и считаю, что событие playing
- это тот, который я за ним. Это верно? Я также опасаюсь, что это может привести к сбою запросов AJAX каждый раз, когда нажата кнопка воспроизведения, а не только в первый раз (если они приостанавливаются и, например, приостанавливаются), и это может привести к искажениям журналов.
Это пример слушателя документы дают для событий СМИ:
var v = document.getElementsByTagName("video")[0];
v.addEventListener("seeked", function() { v.play(); }, true);
v.currentTime = 10.0;
Но как я мог интегрировать это на следующий код:
<audio id="123" controls>
<source src="../uploads/filename.mp3" type="audio/mpeg">
</audio>
Я попытался следующий, но ничего как представляется, происходит:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('audio').each(function() {
var id = $(this).attr('id');
$(this).addEventListener("playing", function() {
alert(id);
});
});
});
</script>
не думаю, что вы хотите событие игры - это только срабатывает, когда файл будет готов снова после того, как проблема буферизации.Из вашей ссылки на документ: _ «Игровое событие запускается, когда воспроизведение готово к запуску после паузы или задержки из-за отсутствия данных». _. Событие «играть» - это то, что вы хотите. «Событие воспроизведения запускается, когда воспроизведение началось». https://developer.mozilla.org/en-US/docs/Web/Events/play. – ADyson