Are these samples particularly long? The SampleStreamer example streams the audio data from disk into an array, as the file is being played. This is particularly useful when you have very long files, or many of them (see the SampleStreamerMulti example). If the files are "short enough" (i.e.: they can be stored in about 200MB of memory in total), then you could just load them all into memory in setup(), so that then you can just have direct access to an array in memory and handle your read pointer manually.
Check out the SampleLoader example for an example of this.