If you are creating an IO interface which needs the ability to play an audio file, you should make sure your IO interface inherits from FileAudioIOInterface. This interface contains protected methods such as PlayFile, PauseFile and ResumeFile, which control a single file playing from a single instance of your IO interface.
It also implements IVolumeController, which means that you get volume control for your IO interface for free. For more information, see the documentation on the class and its associated methods.
Note there is a known limitation currently that this class can only read local files. That means if you want to read a file that is found on the internet, you will need to download it first, then read it from there. We will be looking into fixing this in a future release.
Documentation: Developing for SAMI
Documentation: Home
Documentation: IO Interface Overview