- cpp3ds
- SoundFileReader
Abstract base class for sound file decoding. More...
#include <SoundFileReader.hpp>
Inherited by cpp3ds::priv::SoundFileReaderMp3, cpp3ds::priv::SoundFileReaderOgg, and cpp3ds::priv::SoundFileReaderWav.
Classes | |
struct | Info |
Structure holding the audio properties of a sound file. More... | |
Public Member Functions | |
virtual | ~SoundFileReader () |
Virtual destructor. More... | |
virtual bool | open (InputStream &stream, Info &info)=0 |
Open a sound file for reading. More... | |
virtual void | seek (Uint64 sampleOffset)=0 |
Change the current read position to the given sample offset. More... | |
virtual Uint64 | read (Int16 *samples, Uint64 maxCount)=0 |
Read audio samples from the open file. More... | |
Abstract base class for sound file decoding.
This class allows users to read audio file formats not natively supported by cpp3ds, and thus extend the set of supported readable audio formats.
A valid sound file reader must override the open, seek and write functions, as well as providing a static check function; the latter is used by cpp3ds to find a suitable writer for a given input file.
To register a new reader, use the cpp3ds::SoundFileFactory::registerReader template function.
Usage example:
Definition at line 43 of file SoundFileReader.hpp.
|
inlinevirtual |
Virtual destructor.
Definition at line 62 of file SoundFileReader.hpp.
|
pure virtual |
Open a sound file for reading.
The provided stream reference is valid as long as the SoundFileReader is alive, so it is safe to use/store it during the whole lifetime of the reader.
stream | Source stream to read from |
info | Structure to fill with the properties of the loaded sound |
|
pure virtual |
Read audio samples from the open file.
samples | Pointer to the sample array to fill |
maxCount | Maximum number of samples to read |
|
pure virtual |
Change the current read position to the given sample offset.
If the given offset exceeds to total number of samples, this function must jump to the end of the file.
sampleOffset | Index of the sample to jump to, relative to the beginning |