AudioBufferNodeのStopメソッドがそれを破壊するのはなぜですか?
-
21-12-2019 - |
質問
AudioBufferNodeで#.stop()
を呼び出すと、#.start()
はできません。なぜ行動はそうですか?
この問題は、APAUSIO APIを使用して、一時停止機能を実装しようとしているときに早い時期に見つけたときに表示されました。私の興味があったのは、確かに、それがストリームであることを理解しており、ストリームを単純な「一時停止」できません。しかし、なぜ破壊されるのですか?内部的には、データへのポインタがありません、あるいはデータは宛先にプッシュされ、バッファによって忘れられて忘れられていますか?
解決
Audiobufferで.stop()を呼び出していない、あなたはBufferSourceNodeで.stop()を呼び出します - AudioBufferは複数回使用できます。
ショートバージョンは、非常に軽量な方法でバッファの消防忘れの再生を可能にする最適化です。あなたはそれの周りに上位レベルのメディアプレーヤーを構築することができます、しかしそれ自体のバッファールースコードは非常に軽量です。サウンドデータ自体は忘れられておらず、実際には他のバッファーオブジェクトに同時に使用されています - それは別のAudioBufferオブジェクトにあります。
所属していません StackOverflow