Functions
Sound.h File Reference
#include <SFML/Audio/Export.h>
#include <SFML/Audio/SoundStatus.h>
#include <SFML/Audio/Types.h>
#include <SFML/System/Time.h>
#include <SFML/System/Vector3.h>

Go to the source code of this file.

Functions

CSFML_AUDIO_API sfSoundsfSound_create (void)
 Create a new sound.
 
CSFML_AUDIO_API sfSoundsfSound_copy (const sfSound *sound)
 Create a new sound by copying an existing one.
 
CSFML_AUDIO_API void sfSound_destroy (sfSound *sound)
 Destroy a sound.
 
CSFML_AUDIO_API void sfSound_play (sfSound *sound)
 Start or resume playing a sound.
 
CSFML_AUDIO_API void sfSound_pause (sfSound *sound)
 Pause a sound.
 
CSFML_AUDIO_API void sfSound_stop (sfSound *sound)
 Stop playing a sound.
 
CSFML_AUDIO_API void sfSound_setBuffer (sfSound *sound, const sfSoundBuffer *buffer)
 Set the source buffer containing the audio data to play.
 
CSFML_AUDIO_API const
sfSoundBuffer
sfSound_getBuffer (const sfSound *sound)
 Get the audio buffer attached to a sound.
 
CSFML_AUDIO_API void sfSound_setLoop (sfSound *sound, sfBool loop)
 Set whether or not a sound should loop after reaching the end.
 
CSFML_AUDIO_API sfBool sfSound_getLoop (const sfSound *sound)
 Tell whether or not a sound is in loop mode.
 
CSFML_AUDIO_API sfSoundStatus sfSound_getStatus (const sfSound *sound)
 Get the current status of a sound (stopped, paused, playing)
 
CSFML_AUDIO_API void sfSound_setPitch (sfSound *sound, float pitch)
 Set the pitch of a sound.
 
CSFML_AUDIO_API void sfSound_setVolume (sfSound *sound, float volume)
 Set the volume of a sound.
 
CSFML_AUDIO_API void sfSound_setPosition (sfSound *sound, sfVector3f position)
 Set the 3D position of a sound in the audio scene.
 
CSFML_AUDIO_API void sfSound_setRelativeToListener (sfSound *sound, sfBool relative)
 Make the sound's position relative to the listener or absolute.
 
CSFML_AUDIO_API void sfSound_setMinDistance (sfSound *sound, float distance)
 Set the minimum distance of a sound.
 
CSFML_AUDIO_API void sfSound_setAttenuation (sfSound *sound, float attenuation)
 Set the attenuation factor of a sound.
 
CSFML_AUDIO_API void sfSound_setPlayingOffset (sfSound *sound, sfTime timeOffset)
 Change the current playing position of a sound.
 
CSFML_AUDIO_API float sfSound_getPitch (const sfSound *sound)
 Get the pitch of a sound.
 
CSFML_AUDIO_API float sfSound_getVolume (const sfSound *sound)
 Get the volume of a sound.
 
CSFML_AUDIO_API sfVector3f sfSound_getPosition (const sfSound *sound)
 Get the 3D position of a sound in the audio scene.
 
CSFML_AUDIO_API sfBool sfSound_isRelativeToListener (const sfSound *sound)
 Tell whether a sound's position is relative to the listener or is absolute.
 
CSFML_AUDIO_API float sfSound_getMinDistance (const sfSound *sound)
 Get the minimum distance of a sound.
 
CSFML_AUDIO_API float sfSound_getAttenuation (const sfSound *sound)
 Get the attenuation factor of a sound.
 
CSFML_AUDIO_API sfTime sfSound_getPlayingOffset (const sfSound *sound)
 Get the current playing position of a sound.
 

Function Documentation

CSFML_AUDIO_API sfSound* sfSound_copy ( const sfSound sound)

Create a new sound by copying an existing one.

Parameters
soundSound to copy
Returns
A new sfSound object which is a copy of sound
CSFML_AUDIO_API sfSound* sfSound_create ( void  )

Create a new sound.

Returns
A new sfSound object
CSFML_AUDIO_API void sfSound_destroy ( sfSound sound)

Destroy a sound.

Parameters
soundSound to destroy
CSFML_AUDIO_API float sfSound_getAttenuation ( const sfSound sound)

Get the attenuation factor of a sound.

Parameters
soundSound object
Returns
Attenuation factor of the sound
CSFML_AUDIO_API const sfSoundBuffer* sfSound_getBuffer ( const sfSound sound)

Get the audio buffer attached to a sound.

Parameters
soundSound object
Returns
Sound buffer attached to the sound (can be NULL)
CSFML_AUDIO_API sfBool sfSound_getLoop ( const sfSound sound)

Tell whether or not a sound is in loop mode.

Parameters
soundSound object
Returns
sfTrue if the sound is looping, sfFalse otherwise
CSFML_AUDIO_API float sfSound_getMinDistance ( const sfSound sound)

Get the minimum distance of a sound.

Parameters
soundSound object
Returns
Minimum distance of the sound
CSFML_AUDIO_API float sfSound_getPitch ( const sfSound sound)

Get the pitch of a sound.

Parameters
soundSound object
Returns
Pitch of the sound
CSFML_AUDIO_API sfTime sfSound_getPlayingOffset ( const sfSound sound)

Get the current playing position of a sound.

Parameters
soundSound object
Returns
Current playing position
CSFML_AUDIO_API sfVector3f sfSound_getPosition ( const sfSound sound)

Get the 3D position of a sound in the audio scene.

Parameters
soundSound object
Returns
Position of the sound in the world
CSFML_AUDIO_API sfSoundStatus sfSound_getStatus ( const sfSound sound)

Get the current status of a sound (stopped, paused, playing)

Parameters
soundSound object
Returns
Current status
CSFML_AUDIO_API float sfSound_getVolume ( const sfSound sound)

Get the volume of a sound.

Parameters
soundSound object
Returns
Volume of the sound, in the range [0, 100]
CSFML_AUDIO_API sfBool sfSound_isRelativeToListener ( const sfSound sound)

Tell whether a sound's position is relative to the listener or is absolute.

Parameters
soundSound object
Returns
sfTrue if the position is relative, sfFalse if it's absolute
CSFML_AUDIO_API void sfSound_pause ( sfSound sound)

Pause a sound.

This function pauses the sound if it was playing, otherwise (sound already paused or stopped) it has no effect.

Parameters
soundSound object
CSFML_AUDIO_API void sfSound_play ( sfSound sound)

Start or resume playing a sound.

This function starts the sound if it was stopped, resumes it if it was paused, and restarts it from beginning if it was it already playing. This function uses its own thread so that it doesn't block the rest of the program while the sound is played.

Parameters
soundSound object
CSFML_AUDIO_API void sfSound_setAttenuation ( sfSound sound,
float  attenuation 
)

Set the attenuation factor of a sound.

The attenuation is a multiplicative factor which makes the sound more or less loud according to its distance from the listener. An attenuation of 0 will produce a non-attenuated sound, i.e. its volume will always be the same whether it is heard from near or from far. On the other hand, an attenuation value such as 100 will make the sound fade out very quickly as it gets further from the listener. The default value of the attenuation is 1.

Parameters
soundSound object
attenuationNew attenuation factor of the sound
CSFML_AUDIO_API void sfSound_setBuffer ( sfSound sound,
const sfSoundBuffer buffer 
)

Set the source buffer containing the audio data to play.

It is important to note that the sound buffer is not copied, thus the sfSoundBuffer object must remain alive as long as it is attached to the sound.

Parameters
soundSound object
bufferSound buffer to attach to the sound
CSFML_AUDIO_API void sfSound_setLoop ( sfSound sound,
sfBool  loop 
)

Set whether or not a sound should loop after reaching the end.

If set, the sound will restart from beginning after reaching the end and so on, until it is stopped or sfSound_setLoop(sound, sfFalse) is called. The default looping state for sounds is false.

Parameters
soundSound object
loopsfTrue to play in loop, sfFalse to play once
CSFML_AUDIO_API void sfSound_setMinDistance ( sfSound sound,
float  distance 
)

Set the minimum distance of a sound.

The "minimum distance" of a sound is the maximum distance at which it is heard at its maximum volume. Further than the minimum distance, it will start to fade out according to its attenuation factor. A value of 0 ("inside the head of the listener") is an invalid value and is forbidden. The default value of the minimum distance is 1.

Parameters
soundSound object
distanceNew minimum distance of the sound
CSFML_AUDIO_API void sfSound_setPitch ( sfSound sound,
float  pitch 
)

Set the pitch of a sound.

The pitch represents the perceived fundamental frequency of a sound; thus you can make a sound more acute or grave by changing its pitch. A side effect of changing the pitch is to modify the playing speed of the sound as well. The default value for the pitch is 1.

Parameters
soundSound object
pitchNew pitch to apply to the sound
CSFML_AUDIO_API void sfSound_setPlayingOffset ( sfSound sound,
sfTime  timeOffset 
)

Change the current playing position of a sound.

The playing position can be changed when the sound is either paused or playing.

Parameters
soundSound object
timeOffsetNew playing position
CSFML_AUDIO_API void sfSound_setPosition ( sfSound sound,
sfVector3f  position 
)

Set the 3D position of a sound in the audio scene.

Only sounds with one channel (mono sounds) can be spatialized. The default position of a sound is (0, 0, 0).

Parameters
soundSound object
positionPosition of the sound in the scene
CSFML_AUDIO_API void sfSound_setRelativeToListener ( sfSound sound,
sfBool  relative 
)

Make the sound's position relative to the listener or absolute.

Making a sound relative to the listener will ensure that it will always be played the same way regardless the position of the listener. This can be useful for non-spatialized sounds, sounds that are produced by the listener, or sounds attached to it. The default value is false (position is absolute).

Parameters
soundSound object
relativesfTrue to set the position relative, sfFalse to set it absolute
CSFML_AUDIO_API void sfSound_setVolume ( sfSound sound,
float  volume 
)

Set the volume of a sound.

The volume is a value between 0 (mute) and 100 (full volume). The default value for the volume is 100.

Parameters
soundSound object
volumeVolume of the sound
CSFML_AUDIO_API void sfSound_stop ( sfSound sound)

Stop playing a sound.

This function stops the sound if it was playing or paused, and does nothing if it was already stopped. It also resets the playing position (unlike sfSound_pause).

Parameters
soundSound object