WebAudio振荡器“点击”

时间:2015-10-05 12:44:10

标签: javascript html5 web-audio

每当我尝试一个简单的振荡器时(查看这个例子,不是我的,但它显示同样的问题http://webaudioapi.com/samples/oscillator/)我听到它在开始和结束时都会发出“点击”。

如何绕过这个问题? 感谢

1 个答案:

答案 0 :(得分:7)

要停止咔嗒声,您需要平稳地使振荡器上升而不是立即启动它。如下所示:

var osc = context.createOscillator();
var gain = context.createGain();
osc.connect(gain);
gain.gain.setValueAtTime(0, context.currentTime);
gain.gain.linearRampToValueAtTime(1, context.currentTime + <some small time>);

osc.start();
...
// To stop the oscillator, ramp the gain down.
gain.gain.linearRampToValueAtTime(0, endTime - <small time>);
osc.stop(endTime);