Web Audio API:发现节点的连接

时间:2015-10-20 17:50:15

标签: javascript audio web-audio

使用Web Audio API,有没有办法发现节点的连接?

例如,给定

ctx = new AudioContext();
g1 = ctx.createGain();
g2 = ctx.createGain();
g1.connect(g2);

我可以在g1上调用哪种方法返回[g2]

我有兴趣编写一个javascript库来显示当前的音频图表,类似于Firefox Web Audio Editor

2 个答案:

答案 0 :(得分:1)

简短的回答是否定的 - 没有这样的方法。你必须自己跟踪你的联系。

答案 1 :(得分:1)

您可能会做这样的事情:

var connect = AudioNode.prototype.connect;
var disconnect = AudioNode.prototype.disconnect;

AudioNode.prototype.connect = function( dest ) {
  this._connections || ( this._connections = [] );
  if ( this._connections.indexOf( dest ) === -1 ) {
    this._connections.push( dest );
  }
  return connect.apply( this, arguments );
};

AudioNode.prototype.disconnect = function() {
  this._connections = [];
  return disconnect.apply( this, arguments );
};

这是一个快速示例,它不考虑disconnect个参数。但我认为,沿着这些方向发展的事情可能有用。

有很好的理由做这样的事情。但 允许您保持应用程序代码的通用性,如果您希望能够可视化任意音频图形,那么这就是您所需要的。