1

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

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

我从 getChannelData 获取数据,但如何将它们发送到输出缓冲区?

提前致谢。

4

1 回答 1

1

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

例如用随机数填充缓冲区

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
  }
}
于 2012-11-05T09:48:48.423 回答