CSFML - C binding of the Simple and Fast Multimedia Library

CSFML 3.0.0
Loading...
Searching...
No Matches
Functions
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
sfSoundBuffer * | sfSoundBuffer_createFromFile (const char *filename)
| Create a new sound buffer and load it from a file.
sfSoundBuffer * | sfSoundBuffer_createFromMemory (const void *data, size_t sizeInBytes)
| Create a new sound buffer and load it from a file in memory.
sfSoundBuffer * | sfSoundBuffer_createFromStream (sfInputStream *stream)
| Create a new sound buffer and load it from a custom stream.
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.
sfSoundBuffer * | sfSoundBuffer_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.
sfSoundChannel * | sfSoundBuffer_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

  soundBuffer | Sound 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

  filename | Path 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

  data | Pointer to the file data in memory
  sizeInBytes | Size 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

  samples | Pointer to the array of samples in memory
  sampleCount | Number of samples in the array
  channelCount | Number of channels (1 = mono, 2 = stereo, ...)
  sampleRate | Sample rate (number of samples to play per second)
  channelMapData | Pointer to the array of channel map data
  channelMapSize | Size 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

  stream | Source 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

  soundBuffer | Sound 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

  soundBuffer | Sound 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

  soundBuffer | Sound buffer object
  count | Pointer 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

  soundBuffer | Sound 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

  soundBuffer | Sound 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

  soundBuffer | Sound 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

  soundBuffer | Sound 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

  soundBuffer | Sound buffer object
  filename | Path of the sound file to write

Returns
  true if saving succeeded, false if it failed