オーディオが終了した後にオーディオを変更するJavaScriptを作成しました。
var songlist = new Array("a.mp3", "b.mp3", "c.mp3", "d.mp3", "e.mp3", "f.mp3");
var dir = "music/";
var curr_track = 0;
var isfirstrun;
function start()
{
if(curr_track == songlist.length)
curr_track = 0;
var track = document.getElementById('track');
track.innerHTML = curr_track;
var audio = document.getElementById('audio');
isfirstrun = true;
audio.src = dir+songlist[curr_track];
audio.load();
audio.play();
if(isfirstrun == true)
{
audio.addEventListener('ended', function(){ curr_track++; start();}, false);
isfirstrun = false;
}
}
そして、HTMLの内部では、
<body onload="start();">
コードで使用されているのtrack
は、現在のトラック番号を示すことです。出力は次のとおりです。
0 then 1 then 3 then 7
したがって、、、およびから欠落c.mp3
しe.mp3
てf.mp3
いsonglist
ます。
ループの問題をどのように解決できますか?