BufferedAudioStream provides a way to stream audio data from an AudioSource object. It maintains an internal buffer and offers methods for updating and adding new data.
Update() updates playback based on remaining buffer time, while
AddData() adds new data to the buffer, wrapping around if necessary. This class is useful for real-time audio streaming, such as playing back audio from a network connection or generating audio dynamically.