我需要创建一个播放列表并运行它。我还需要通知秒钟音乐将播放。
我正在使用数组:
var listMusic = ["hs.wav", "gs.wav"];
var musicDuration = ["10", "20"];
如何播放列表中的所有歌曲,我使用一个FOR:
for(i = 0; i < listMusic.length; i++)
{
var music = listMusic[i];
setInterval(function() {playSound("'" + music + "'");}, musicDuration[i] * 1000);
}
这是我的函数playSound():
function playSound(music){
document.getElementById("span_alerta").innerHTML = "<embed src='" + music + "' hidden=false autostart=true loop=false playcount=3>";
}
因此,他只是在播放阵列的最后一首歌。发生这种情况是因为LOOP在我等待10秒时执行了两次
任何人都知道如何解决这个问题?
答案 0 :(得分:1)
我确定你可能会找到很多库来处理这些东西。无论如何,您可以在递归函数中修改代码
var index=-1;
function playNext() {
index++;
var music = listMusic[i];
if (music) {
playSound("'" + music + "'");
setInterval('playNext', musicDuration[index] * 1000);
}
}