1
我有一個音頻文件陣列,只要點擊一個按鈕就可以播放。如果我點擊所述按鈕,它將播放陣列中的下一個音頻文件。此外,如果當用戶再次單擊時正在播放音頻,則會重置當前曲目並播放下一首歌曲。通過音頻文件陣列播放onclick
試圖找出爲什麼我無法循環通過我目前擁有的數組。
var song1 = $("#sound-1");
var song2 = $("#sound-2");
var song3 = $("#sound-3");
var song4 = $("#sound-4");
var song5 = $("#sound-5");
var song6 = $("#sound-6");
var song7 = $("#sound-7");
var song8 = $("#sound-8");
var audioArray = [ song1, song2, song3, song4, song5, song6, song7, song8 ];
$(".click").click(function(){
var i=0;
if (i< audioArray.length){
audioArray[i].trigger('play');
i++;
} else if (i>audioArray.length){
i = 0;
audioArray[i].trigger('play');
};
});
很酷,是的,我知道迭代已關閉,但無法看到它到底是什麼。謝謝!但是,如何才能停止當前正在播放的音頻文件,以便只播放一個音頻文件?每次我點擊它時,都會不停地播放新的音頻文件,並重置前一個音頻文件。 –
@PeterLum,我已經更新了答案,請查看 –
感謝您的幫助。我目前只是利用html5原生音頻與jQuery的DOM操作。當每次點擊觸發數組中的下一首歌曲時,迭代工作,但是歌曲不會按預期停止和重置。控制檯似乎沒有注意到任何錯誤,所以我很好奇,如果有另一種方法來停止音頻並將其重置,以便下一首歌曲獨自播放,而不是像現在這樣重疊音頻。 –