Webaudio振荡器停止()回调

时间:2015-09-29 14:16:35

标签: javascript web-audio

在Web音频振荡器上调用stop()时,振荡器节点只会挂起,断开连接和未使用。

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

oscillator.stop( audioCtx.currentTime + 2 );

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

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

2 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:0)

为什么你甚至会参考振荡器?如果在调用stop()后立即释放对振荡器的引用,则WA系统会将其保持不变直到完成,然后它将自动收集垃圾。你不需要自己坚持下去。