在JavaScript中构建时间轴的简便方法?

时间:2014-12-19 01:02:15

标签: javascript audio

我正在使用AudioContext()对象为我正在制作的画布游戏创建一个轻微的音轨。但是,为了做到这一点,我需要在某个时间点播放某些事件。我目前有:

function playRingTone(){
    var osc = ctx.createOscillator();
    osc.connect(ctx.destination);
    osc.start(0);
    osc.frequency.value = 200;
    setTimeout(function(o){
        console.log(true);
        o.frequency.value = 300; 
        setTimeout(function(o){
            console.log(true);
            o.frequency.value = 350; 
            setTimeout(function(o){
                console.log(true);
                o.frequency.value = 375; 
                setTimeout(function(o){
                    console.log(true);
                    o.frequency.value = 400; 
                    setTimeout(function(o){
                        console.log(true);
                        o.frequency.value = 380; 
                        setTimeout(function(o){
                            console.log(true);
                            o.frequency.value = 360; 
                            setTimeout(function(o){
                                console.log(true);
                                o.frequency.value = 375; 
                            },600,o);
                        },200,o);
                    },200,o);
                },200,o);
            },200,o);
        },1500,o);
    },1000,osc);
}

然而, 高度 很麻烦,很难编辑和创建。有没有更好的方法呢?我愿意使用库,但首选纯JS方式。谢谢!

0 个答案:

没有答案