2011-03-17 96 views
5

在JavaScript函数中,我有这样的代码:通话时声音已经结束

var sound = new Audio(name); 
sound.onended = function() { 
    alert("finished"); 
    } 
sound.play(); 

也就是说,sound.play方法结束后,我要提醒它完成。这工作在IE9,但有没有办法在Chrome中做到这一点?

我也试着像下面的代码回调,但由于您使用jQuery的这是行不通的

sound.play(function() {alert("finished")}); 
+0

我在过去让'onended'在Chrome中工作时遇到了麻烦。你不是一个人。 – alex 2011-03-17 05:41:50

回答

3

,可以考虑使用类似jPlayer。它会让你的事件在浏览器中更加简单和一致。它在支持它的浏览器上使用HTML5音频,而在不支持HTML5音频的浏览器上使用Flash。您也可以使用SoundManager2

如果您手动使用HTML5音频,请记住Firefox和Opera不支持MP3。他们支持Ogg Vorbis。 Safari和IE不支持Ogg Vorbis,但支持MP3。 Chrome支持MP3和Ogg Vorbis,但不支持WAV。你有尝试玩WAV吗?如果你这样做,它将无法在Chrome上运行。

+0

我正在使用MP3和Ogg Vorbis – 2011-03-17 06:00:45

+0

然后,也许尝试使用DOM级别2事件(记得有IE的微软特定事件回退),或者只是使用我推荐的库来为你做。 – rsp 2011-03-17 06:06:10