Как обнаружить, что звук закончил воспроизведение на веб-странице?
В моем проекте мне нужно встроить аудио (например: mp3 и т.д.) в веб-страницу. Когда пользователь посещает страницу, звук начнет воспроизводиться. Когда звук заканчивается, пользователь может ответить на вопросник (поля формы).
Есть ли способ проверить, закончилось ли воспроизведение звука с помощью jquery, чтобы вопросник появился после того, как пользователь прослушал весь звук?
Я знаю, что один способ проверить - определить длину аудио, затем я могу установить таймер для отображения вопросника, но я надеюсь, что у jquery есть какой-то обработчик событий, который позволяет мне выполнить это.
Я вижу, что в jquery есть много аудио-плагинов, и я не могу быть уверен, что будет делать то, что я хочу здесь: http://plugins.jquery.com/plugin-tags/audio
Любые идеи приветствуются.
Спасибо.
Ответы
Ответ 1
Если вы используете аудиотекст html5, есть обработчик события "onended". Я не знаю, поддерживают ли браузеры.
Что-то вроде:
<audio src="xpto.mp3" onended="DoSomething();"></audio>
В последнем случае вы можете использовать swf, который может воспроизводить звук, и предупреждать ваш javascript, когда он достигнет конца.
Ответ 2
Вы также можете добавить прослушиватель событий jQuery следующим образом:
$("audio").on("ended", function() {
console.log("All Done!");
});