我正在阅读有关网络音频的自定义音频效果: http://www.html5rocks.com/en/tutorials/casestudies/jamwithchrome-audio/
他们给出的一个例子就是这个延迟循环
var SlapbackDelayNode = function(){
//create the nodes we’ll use
this.input = audioContext.createGainNode();
var output = audioContext.createGainNode(),
delay = audioContext.createDelayNode(),
feedback = audioContext.createGainNode(),
wetLevel = audioContext.createGainNode();
//set some decent values
delay.delayTime.value = 0.15; //150 ms delay
feedback.gain.value = 0.25;
wetLevel.gain.value = 0.25;
//set up the routing
this.input.connect(delay);
this.input.connect(output);
delay.connect(feedback);
delay.connect(wetLevel);
feedback.connect(delay);
wetLevel.connect(output);
this.connect = function(target){
output.connect(target);
};
};
我的问题是:
是否有任何令人信服的理由拥有output
增益节点?想知道它是否出于教育原因,或者它是否真的服务于我没有掌握的目的。
您可以直接将wetLevel
节点连接到目标,这样可以节省您创建output
节点的时间。
this.connect = function(target){
wetLevel.connect(target);
};
答案 0 :(得分:1)
您可以跳过输出节点。它主要是为了方便,能够快速轻松地一次性断开子图的输出(而不是必须从两个不同的节点断开连接)。你并不总是需要这种便利。