Webaudio API ScriptProcessorNode如何输出信号

时间:2012-11-04 09:58:49

标签: javascript web-audio

我想使用ScriptProcessorNode接口处理音频,但我无法编写输出缓冲区。

var node = context.createScriptProcessor(256,1,1);
node.onaudioprocess = function (e){
        var inputBuffer = e.inputBuffer.getChannelData(0);
}

我从getChannelData获取数据,但是如何将它们发送到outputbuffer?

提前致谢。

1 个答案:

答案 0 :(得分:1)

输出缓冲区存储在e.outputBuffer中。基本上,您可以更改其中的数据以设置输出的内容。

E.g。用随机数填充缓冲区

node.onaudioprocess = function (e) {
  var output = e.outputBuffer.getChannelData(0);
  for (var i = 0; i < output.length; i++) {
    output[i] = Math.random();
    // Math.random() sends random numbers, but you can make 
    // that be anything you want
  }
}