2016-04-14 5 views
6

オシレーターノードで.stop()の後に.disconnect()を使用している人がいくつかのチュートリアルで見ました。オシレータAudioNodeを停止した後で切断する必要がありますか?

私が理解する限り、オシレータノードは使い捨てであるため、停止して投げ捨てると切断されませんか?

何か間違っていますか? .stop()の後に.disconnect()を使用する必要があるのはなぜですか?

答えて

3

AudioNodeは、それが削除されます参照がありません。 が削除される前に、 が接続されている他のAudioNodesから切断されます。

のでAudioNodeを止めますと何の言及は、それ自体を切断します残っていないと、このように明示的にstop()disconnect()を呼び出すために必要がない場合。

4

停止()後に発振器を取り外す必要はありません。実際には、発振器の開始時間と停止時間をスケジューリングした後で、発振器へのリファレンスを直ちにドロップすることができ、発振器は依然として動作するはずです。停止後、自動的に切断されます。

もちろん、実装にバグがあり、正しいものに切断される可能性があります。しかし、それはバグです。 W3C Specificationによると

関連する問題