为什么for循环不是一次又一次地播放音频文件?

时间:2015-07-08 10:24:59

标签: javascript for-loop audio

要获取完整代码,请访问 this question

现在代码中出现的问题是:

var times_played =1,
     l=pattern_config[actions().whichPattern].WP_slotsCounter;
var p = setInterval(function(){
    var x = pattern[actions().whichPattern][times_played];
    for(var i=0; i<x.length;i++){
            var toBePlayed = x[i];
           if(toBePlayed !== undefined){    
            var url= "All Drums sounds/"+toBePlayed+".wav";
            audio.src = url;
            audio.play();
            //console.log(audio);
        }else{};
    }
    times_played++;
    console.log(l);
    if(times_played === l+1){clearInterval(p);};
}, pattern_config[actions().whichPattern].delay);

注意:它是名为_play()

的函数的一部分

问题是:

假设我有一个类似:[['drum_snare_01'],['drum_snare_01'],['drum_snare_01']]的数组。所以我希望我的函数能够播放名为'drum_snare_01' 3次的音频文件。但它没有发生它只播放一次。从调试开始,我知道在循环结束后,即最后一次播放该文件。

<案例2

如果我有一个像[[ 'kick_02','drum_snare_01'],[ 'kick_02','drum_snare_01'],[ 'kick_02','drum_snare_01'],[ 'kick_02','drum_snare_01']]这样的数组,那么它只会播放drum_snare_01而不是kick_02,或者通常它会播放最后一个的文件阵列

我不知道这个问题将如何解决,这就是我最终在这里问的原因。

0 个答案:

没有答案