2011-03-17 48 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