我正在使用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方式。谢谢!