如何检测音频已在网页中播放完毕?

时间:2011-01-06 21:13:34

标签: javascript jquery jquery-plugins audio

在我的项目中,我需要将音频(例如:mp3等)嵌入到网页中。当用户访问该页面时,音频将开始播放。当音频结束时,将出现问卷(表单字段)供用户回答。

是否有方法可以检查音频是否已经使用jquery完成播放,以便在用户收听整个音频后可以显示问卷?

我知道检查的一种方法是确定音频长度,然后我可以设置一个计时器来显示问卷,但我希望jquery有一些事件处理程序可以让我完成这个。

我看到jquery有很多音频插件,我不能确定哪个会做我想做的事情:http://plugins.jquery.com/plugin-tags/audio

非常感谢任何想法。

感谢。

3 个答案:

答案 0 :(得分:21)

如果您使用的是html5音频标签,则会出现“onended”事件处理程序。我不知道浏览器是否支持它。

类似的东西:

<audio src="xpto.mp3" onended="DoSomething();"></audio>

在最后一种情况下,您可以使用可播放声音的swf,并在javascript到达结束时提醒您。

答案 1 :(得分:2)

您还可以像这样添加一个jQuery事件监听器:

$("audio").on("ended", function() {
    console.log("All Done!");
});

答案 2 :(得分:1)

使用JavaScript事件监听器。

var myAudio = document.getElementById("myAudioId");

myAudio.addEventListener("ended", function() {
    alert("The audio has ended.");
};