Javascript、Web Audio API、Oscillator.stop() 有烦人的结束滴答声

Javascript, Web Audio API, Oscillator.stop() has an annoying end tick noise

当我调用振荡器的停止函数时,它以断线噪音结束音符。

有什么解决方法吗?

+Crack0dks 有正确的想法 - 你应该在振荡器之后添加一个增益节点,将其值设置为 0(这在 setter 上有一个解压缩 - 即它不会立即将增益设置为零,它在调用停止之前非常快速地斜坡。

然而,它对你不起作用的原因是因为你需要确保通过增益节点的振荡器源也不会立即停止 - 你不应该调用 stop() 或 stop( 0), 你应该增加一点时间让增益节点在切断它之前降低它的音频。尝试以 "stop( audiocontext.currentTime + 0.01 )" 作为起点。您可能想尝试一下最后一个值 - 但那是十毫秒,这是一个很好的起点。