2013-10-21 159 views
4

我想了解當音頻停止播放時如何觸發事件。我正在使用HTML5 <audio>標記。到目前爲止,我可以通過使用duration屬性來獲得音頻的持續時間,但目前我無法做到這一點。我想要做的就是將一個「播放」字符串傳遞給一個html()方法,以便在我的音頻播放完畢時不會顯示「暫停」。如何在音頻播放完成後觸發JQuery事件HTML5

切換功能:

$("#toggleButton").on("click", function(evt) { 
    if(audio.paused) { 
     audio.play(); 
     $(this).html("Pause"); 
    } 
    else { 
     audio.pause(); 
     $(this).html("Play"); 
    } 
}); 

我也苦苦尋找關於音頻的方法和屬性文件。我試着在JQuery和Mozilla網絡上搜索「音頻」,他們沒有返回任何東西。

+0

所以,你想要的是火的時候,音頻完成的功能?捕獲該事件? – Sergio

+0

這是正確的。只要音軌完成播放,我就可以開始播放。如果可能的話,它不一定是事件。只要音軌的持續時間結束播放就可以解決問題。 – user1574598

回答

10

試試這個:

audio.addEventListener('ended', function(){ 
    $("#toggleButton").html("Play"); 
}); 
+1

非常好!非常好地工作。如果可以的話,我用'on('ended',function()...)'方法寫了一些略微不同的東西?也會檢查你的鏈接:-) – user1574598

+0

@ user1574598,就像你使用jQuery。我的版本是純javascript。如你所願使用。 – Sergio

+1

奇妙的提示。我真的在研究這個 – Tales

1

聲音完成後,您的音頻標籤應該會觸發「已觸發」事件。連接到該事件,並根據需要更新您的按鈕圖形。瀏覽器支持一如既往,可能會有所不同。