Loading...
Searching...
No Matches
sf::SoundFileWriter Class Referenceabstract
Abstract base class for sound file encoding. More...
#include <SFML/Audio/SoundFileWriter.hpp>
Public Member Functions | |
virtual | ~SoundFileWriter ()=default |
Virtual destructor. | |
virtual bool | open (const std::filesystem::path &filename, unsigned int sampleRate, unsigned int channelCount, const std::vector< SoundChannel > &channelMap)=0 |
Open a sound file for writing. | |
virtual void | write (const std::int16_t *samples, std::uint64_t count)=0 |
Write audio samples to the open file. | |
Detailed Description
Abstract base class for sound file encoding.
This class allows users to write audio file formats not natively supported by SFML, and thus extend the set of supported writable audio formats.
A valid sound file writer must override the open and write functions, as well as providing a static check function; the latter is used by SFML to find a suitable writer for a given filename.
To register a new writer, use the sf::SoundFileFactory::registerWriter
template function.
Usage example:
{
public:
[[nodiscard]] static bool check(const std::filesystem::path& filename)
{
// typically, check the extension
// return true if the writer can handle the format
}
[[nodiscard]] bool open(const std::filesystem::path& filename, unsigned int sampleRate, unsigned int channelCount, const std::vector<SoundChannel>& channelMap) override
{
// open the file 'filename' for writing,
// write the given sample rate and channel count to the file header
// return true on success
}
{
// write 'count' samples stored at address 'samples',
// convert them (for example to normalized float) if the format requires it
}
};
virtual bool open(const std::filesystem::path &filename, unsigned int sampleRate, unsigned int channelCount, const std::vector< SoundChannel > &channelMap)=0
Open a sound file for writing.
virtual void write(const std::int16_t *samples, std::uint64_t count)=0
Write audio samples to the open file.
Definition at line 46 of file SoundFileWriter.hpp.
Constructor & Destructor Documentation
◆ ~SoundFileWriter()
|
virtualdefault |
Virtual destructor.
Member Function Documentation
◆ open()
|
nodiscardpure virtual |
Open a sound file for writing.
- Parameters
-
filename Path of the file to open sampleRate Sample rate of the sound channelCount Number of channels of the sound channelMap Map of position in sample frame to sound channel
- Returns
true
if the file was successfully opened
◆ write()
|
pure virtual |
Write audio samples to the open file.
- Parameters
-
samples Pointer to the sample array to write count Number of samples to write
The documentation for this class was generated from the following file: