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

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

有没有办法检查音频是否已经使用jquery完成播放,以便问卷可以在用户听完整个音频后出现?

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

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

任何想法都非常感谢。

谢谢。

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

就像是:

 

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

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

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