使用Web Audio创建音频效果是必需的输出节点吗?

时间:2013-10-19 21:54:57

标签: nodes effects web-audio

我正在阅读有关网络音频的自定义音频效果: http://www.html5rocks.com/en/tutorials/casestudies/jamwithchrome-audio/

他们给出的一个例子就是这个延迟循环

enter image description here

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);
 };

1 个答案:

答案 0 :(得分:1)

您可以跳过输出节点。它主要是为了方便,能够快速轻松地一次性断开子图的输出(而不是必须从两个不同的节点断开连接)。你并不总是需要这种便利。