Loading...
Searching...
No Matches
SoundBuffer.h File Reference
#include <CSFML/Audio/Export.h>
#include <CSFML/Audio/SoundChannel.h>
#include <CSFML/Audio/Types.h>
#include <CSFML/System/InputStream.h>
#include <CSFML/System/Time.h>
#include <stddef.h>

Go to the source code of this file.

Functions

sfSoundBuffersfSoundBuffer_createFromFile (const char *filename)
 Create a new sound buffer and load it from a file.
 
sfSoundBuffersfSoundBuffer_createFromMemory (const void *data, size_t sizeInBytes)
 Create a new sound buffer and load it from a file in memory.
 
sfSoundBuffersfSoundBuffer_createFromStream (sfInputStream *stream)
 Create a new sound buffer and load it from a custom stream.
 
sfSoundBuffersfSoundBuffer_createFromSamples (const int16_t *samples, uint64_t sampleCount, unsigned int channelCount, unsigned int sampleRate, sfSoundChannel *channelMapData, size_t channelMapSize)
 Create a new sound buffer and load it from an array of samples in memory.
 
sfSoundBuffersfSoundBuffer_copy (const sfSoundBuffer *soundBuffer)
 Create a new sound buffer by copying an existing one.
 
void sfSoundBuffer_destroy (const sfSoundBuffer *soundBuffer)
 Destroy a sound buffer.
 
bool sfSoundBuffer_saveToFile (const sfSoundBuffer *soundBuffer, const char *filename)
 Save a sound buffer to an audio file.
 
const int16_t * sfSoundBuffer_getSamples (const sfSoundBuffer *soundBuffer)
 Get the array of audio samples stored in a sound buffer.
 
uint64_t sfSoundBuffer_getSampleCount (const sfSoundBuffer *soundBuffer)
 Get the number of samples stored in a sound buffer.
 
unsigned int sfSoundBuffer_getSampleRate (const sfSoundBuffer *soundBuffer)
 Get the sample rate of a sound buffer.
 
unsigned int sfSoundBuffer_getChannelCount (const sfSoundBuffer *soundBuffer)
 Get the number of channels used by a sound buffer.
 
sfSoundChannelsfSoundBuffer_getChannelMap (const sfSoundBuffer *soundBuffer, size_t *count)
 Get the map of position in sample frame to sound channel.
 
sfTime sfSoundBuffer_getDuration (const sfSoundBuffer *soundBuffer)
 Get the total duration of a sound buffer.
 

Function Documentation

◆ sfSoundBuffer_copy()

sfSoundBuffer * sfSoundBuffer_copy ( const sfSoundBuffer * soundBuffer)

Create a new sound buffer by copying an existing one.

Parameters
soundBufferSound buffer to copy
Returns
A new sfSoundBuffer object which is a copy of soundBuffer

◆ sfSoundBuffer_createFromFile()

sfSoundBuffer * sfSoundBuffer_createFromFile ( const char * filename)

Create a new sound buffer and load it from a file.

Here is a complete list of all the supported audio formats: ogg, wav, flac, mp3, aiff, au, raw, paf, svx, nist, voc, ircam, w64, mat4, mat5 pvf, htk, sds, avr, sd2, caf, wve, mpc2k, rf64.

Parameters
filenamePath of the sound file to load
Returns
A new sfSoundBuffer object (NULL if failed)

◆ sfSoundBuffer_createFromMemory()

sfSoundBuffer * sfSoundBuffer_createFromMemory ( const void * data,
size_t sizeInBytes )

Create a new sound buffer and load it from a file in memory.

Here is a complete list of all the supported audio formats: ogg, wav, flac, mp3, aiff, au, raw, paf, svx, nist, voc, ircam, w64, mat4, mat5 pvf, htk, sds, avr, sd2, caf, wve, mpc2k, rf64.

Parameters
dataPointer to the file data in memory
sizeInBytesSize of the data to load, in bytes
Returns
A new sfSoundBuffer object (NULL if failed)

◆ sfSoundBuffer_createFromSamples()

sfSoundBuffer * sfSoundBuffer_createFromSamples ( const int16_t * samples,
uint64_t sampleCount,
unsigned int channelCount,
unsigned int sampleRate,
sfSoundChannel * channelMapData,
size_t channelMapSize )

Create a new sound buffer and load it from an array of samples in memory.

The assumed format of the audio samples is 16 bits signed integer (int16_t).

Parameters
samplesPointer to the array of samples in memory
sampleCountNumber of samples in the array
channelCountNumber of channels (1 = mono, 2 = stereo, ...)
sampleRateSample rate (number of samples to play per second)
channelMapDataPointer to the array of channel map data
channelMapSizeSize of channel map data array
Returns
A new sfSoundBuffer object (NULL if failed)

◆ sfSoundBuffer_createFromStream()

sfSoundBuffer * sfSoundBuffer_createFromStream ( sfInputStream * stream)

Create a new sound buffer and load it from a custom stream.

Here is a complete list of all the supported audio formats: ogg, wav, flac, mp3, aiff, au, raw, paf, svx, nist, voc, ircam, w64, mat4, mat5 pvf, htk, sds, avr, sd2, caf, wve, mpc2k, rf64.

Parameters
streamSource stream to read from
Returns
A new sfSoundBuffer object (NULL if failed)

◆ sfSoundBuffer_destroy()

void sfSoundBuffer_destroy ( const sfSoundBuffer * soundBuffer)

Destroy a sound buffer.

Parameters
soundBufferSound buffer to destroy

◆ sfSoundBuffer_getChannelCount()

unsigned int sfSoundBuffer_getChannelCount ( const sfSoundBuffer * soundBuffer)

Get the number of channels used by a sound buffer.

If the sound is mono then the number of channels will be 1, 2 for stereo, etc.

Parameters
soundBufferSound buffer object
Returns
Number of channels

◆ sfSoundBuffer_getChannelMap()

sfSoundChannel * sfSoundBuffer_getChannelMap ( const sfSoundBuffer * soundBuffer,
size_t * count )

Get the map of position in sample frame to sound channel.

This is used to map a sample in the sample stream to a position during spatialization.

Parameters
soundBufferSound buffer object
countPointer to a variable that will be filled with the number of channels in the map
Returns
Map of position in sample frame to sound channel

◆ sfSoundBuffer_getDuration()

sfTime sfSoundBuffer_getDuration ( const sfSoundBuffer * soundBuffer)

Get the total duration of a sound buffer.

Parameters
soundBufferSound buffer object
Returns
Sound duration

◆ sfSoundBuffer_getSampleCount()

uint64_t sfSoundBuffer_getSampleCount ( const sfSoundBuffer * soundBuffer)

Get the number of samples stored in a sound buffer.

The array of samples can be accessed with the sfSoundBuffer_getSamples function.

Parameters
soundBufferSound buffer object
Returns
Number of samples

◆ sfSoundBuffer_getSampleRate()

unsigned int sfSoundBuffer_getSampleRate ( const sfSoundBuffer * soundBuffer)

Get the sample rate of a sound buffer.

The sample rate is the number of samples played per second. The higher, the better the quality (for example, 44100 samples/s is CD quality).

Parameters
soundBufferSound buffer object
Returns
Sample rate (number of samples per second)

◆ sfSoundBuffer_getSamples()

const int16_t * sfSoundBuffer_getSamples ( const sfSoundBuffer * soundBuffer)

Get the array of audio samples stored in a sound buffer.

The format of the returned samples is 16 bits signed integer (int16_t). The total number of samples in this array is given by the sfSoundBuffer_getSampleCount function.

Parameters
soundBufferSound buffer object
Returns
Read-only pointer to the array of sound samples

◆ sfSoundBuffer_saveToFile()

bool sfSoundBuffer_saveToFile ( const sfSoundBuffer * soundBuffer,
const char * filename )

Save a sound buffer to an audio file.

Here is a complete list of all the supported audio formats: ogg, wav, flac, mp3, aiff, au, raw, paf, svx, nist, voc, ircam, w64, mat4, mat5 pvf, htk, sds, avr, sd2, caf, wve, mpc2k, rf64.

Parameters
soundBufferSound buffer object
filenamePath of the sound file to write
Returns
true if saving succeeded, false if it failed