关于在for循环中使用包含音频源(链接)的数组,我有一个小问题。
这是我的代码,基本上是:
var audio = new Audio();
var playlist = new Array('sounds/song0.m4a', 'sounds/song1.m4a', 'sounds/song2.m4a');
for (var i = 0; i <= playlist.length; i++){
audio.src = (playlist[i]);
audio.volume = 0.3;
audio.loop = false;
if (audio.ended = true)
i++;
if (i = 2) {
i = 0;
}
我的控制台在audio.src =(播放列表[i])上给我一个错误; 。谁知道如何解决这个问题?
答案 0 :(得分:8)
您需要使用ended事件
var audio = new Audio(),
i = 0;
var playlist = new Array('http://www.w3schools.com/htmL/horse.mp3', 'http://demos.w3avenue.com/html5-unleashed-tips-tricks-and-techniques/demo-audio.mp3');
audio.addEventListener('ended', function () {
i = ++i < playlist.length ? i : 0;
console.log(i)
audio.src = playlist[i];
audio.play();
}, true);
audio.volume = 0.3;
audio.loop = false;
audio.src = playlist[0];
audio.play();