2

如何调制 Web Audio API 中的任何 AudioParams,例如使用低频振荡器的 GainNode 增益值?

4

2 回答 2

8

https://coderwall.com/p/h1jnmg

var saw = context.createOscillator(),
      sine = context.createOscillator(),
      sineGain = context.createGainNode();

//set up our oscillator types
saw.type = saw.SAWTOOTH;
sine.type = sine.SINE;

//set the amplitude of the modulation
sineGain.gain.value = 10;

//connect the dots
sine.connect(sineGain);
sineGain.connect(saw.frequency);
于 2013-04-04T20:29:33.680 回答
3

您没有保存实际节点,只是保存值 - 所以当您尝试连接到振荡器.频率时,您传递的是一个整数值(400 - 您保存在节点中的频率)。尝试http://jsfiddle.net/GCSEq/6/ - 它存储节点,并正确路由到 AudioParam。

this.oscillator = context.createOscillator();
this.gain = context.createGainNode();

和 osctest2.play(osctest.oscillator.frequency , 1000);

(您在控制台中遇到错误。)

于 2013-04-05T04:04:56.160 回答