Webaudio 振​​荡器停止()回调

Webaudio oscillator stop() callback

在网络音频振荡器上调用 stop() 时,振荡器节点只是挂起,断开连接且未使用。

如果我告诉振荡器在 2 秒内停止:

oscillator.stop( audioCtx.currentTime + 2 );

有没有办法设置回调,以便我可以在 stop() 运行 后立即删除振荡器?

我考虑过使用停止时间加半秒左右的 setTimeout,但这可能最终会删除错误的振荡器。

振荡器节点支持在振荡器结束(停止)时调用的 onended 事件。

你为什么还要保留对振荡器的引用?如果您在调用 stop() 后立即释放对振荡器的引用,WA 系统将保留它直到它完成,然后它会被自动收集为垃圾。不需要自己坚持。