I'm working to implement streaming sound from disk. I use an AudioFormatReader to fill a sound buffer. When not streaming I just use the read function to fill an AudioSampleBuffer with the whole file.
Now when streaming from disk i create a small AudioSampleBuffer and constantly read the next part when I'm at the end of the buffer. But I'm not certain how AudioFormatReader works internally. Does it also load the entire file in memory (meaning i wouldn't really stream it) or does it just keep the file handle open?
And then again, there is the BufferedAudioFormatReader. Is it correct that this is more useful for reading streams from an exernal source, like over the network?