SFML - Simple and Fast Multimedia Library

SFML 2.5.1

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | List of all members
sf::SoundFileWriter Class Referenceabstract
Audio module

Abstract base class for sound file encoding. More...

`#include <SoundFileWriter.hpp>`

## Public Member Functions
virtual | ~SoundFileWriter ()
| Virtual destructor. More...
virtual bool | open (const std::string &filename, unsigned int sampleRate, unsigned int channelCount)=0
| Open a sound file for writing. More...
virtual void | write (const Int16 *samples, Uint64 count)=0
| Write audio samples to the open file. More...

## 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:

class MySoundFileWriter : public sf::SoundFileWriter
{
public:
static bool check(const std::string& filename)
{
// typically, check the extension
// return true if the writer can handle the format
}
virtual bool open(const std::string& filename, unsigned int sampleRate, unsigned int channelCount)
{
// open the file 'filename' for writing,
// write the given sample rate and channel count to the file header
// return true on success
}
virtual void write(const sf::Int16* samples, sf::Uint64 count)
{
// write 'count' samples stored at address 'samples',
// convert them (for example to normalized float) if the format requires it
}
};
sf::SoundFileFactory::registerWriter<MySoundFileWriter>();
sf::SoundFileWriter
Abstract base class for sound file encoding.
Definition: SoundFileWriter.hpp:42
sf::SoundFileWriter::write
virtual void write(const Int16 *samples, Uint64 count)=0
Write audio samples to the open file.
sf::SoundFileWriter::open
virtual bool open(const std::string &filename, unsigned int sampleRate, unsigned int channelCount)=0
Open a sound file for writing.

See also
  sf::OutputSoundFile, sf::SoundFileFactory, sf::SoundFileReader

Definition at line 41 of file SoundFileWriter.hpp.

## Constructor & Destructor Documentation

## ◆ ~SoundFileWriter()

virtual sf::SoundFileWriter::~SoundFileWriter | ( |  | ) |
| inlinevirtual

Virtual destructor.

Definition at line 49 of file SoundFileWriter.hpp.

## Member Function Documentation

## ◆ open()

virtual bool sf::SoundFileWriter::open | ( | const std::string & | filename,
|  | unsigned int | sampleRate,
|  | unsigned int | channelCount
| ) |  |
| pure 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

Returns
  True if the file was successfully opened

## ◆ write()

virtual void sf::SoundFileWriter::write | ( | const Int16 * | samples,
|  | Uint64 | count
| ) |  |
| 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:

- SoundFileWriter.hpp