我正在制作一款游戏。水平相对较短,并且在每个水平开始时,玩家听到叙述(持续x
秒的声音)。可能会发生某人在声音结束前进入水平,并且新级别将开始播放前一个声音的声音。我希望声音排队,为此,我需要知道声音何时停止播放。是否有事件发生?
答案 0 :(得分:7)
var mySound = new Audio('mySoundFile.ogg');
mySound.addEventListener('ended', function() {
alert("Finished playing sound");
}, false);
mySound.play();
有关其他活动,请参阅http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#mediaevents
答案 1 :(得分:1)
您可能会发现this link有用。它有一个播放多个声音的例子,它显示了一种跟踪文件是否完整的方法。
基本上,获取音频的持续时间属性并在开始播放时注意。如果当前时间晚于开始时间+持续时间,则完成。
答案 2 :(得分:0)
如果您使用HTML5 <audio>
元素,则会在到达音频文件末尾时触发ended
事件。
答案 3 :(得分:-1)
您可以使用SWF播放器播放声音(http://flash-mp3-player.net),它具有回调功能,一旦完成就会通知您。
这种方法的优点是它也适用于HTML 4浏览器。