0

我正在尝试过滤信号,然后使用 Tone.js / Web-Audio API 分析过滤信号的值。

我期望得到滤波信号的值,但我只得到 -Infinity,这意味着我的节点之间的连接是错误的。我做了一个小小提琴来演示这一点,但是在我的用例中,我不想将此节点发送到上下文的目的地——我只想分析它,而不是听到它。

osc.connect(filter)
filter.connect(gainNode)
gainNode.connect(meter)
console.log(meter.getLevel())
4

2 回答 2

0

经过一番挖掘,我发现我需要一个scriptProcessorNode - 显然不再推荐 - 所以查看Audio Worklet Nodes

于 2020-02-07T14:05:39.913 回答
0

我猜您在 Chrome 中测试了代码,因为 Chrome 存在问题,导致它在连接到目标之前无法处理任何内容。使用 Tone.js 时,这意味着您需要.toMaster()在链的末尾调用。我更新了你的小提琴以使其工作:https ://jsfiddle.net/8f7abzoL/ 。

在 Firefox 中调用.toMaster()不是必需的,因此以下在 Firefox 中也有效:https ://jsfiddle.net/yrjgfdtz/ 。

于 2020-02-08T02:27:12.157 回答