View on GitHub

DSFML

dsfml.audio.sound



class Sound: dsfml.audio.soundsource.SoundSource;
Regular sound that can be played in the audio environment. Sound is the class used to play sounds.

It provides: - Control (play, pause, stop) - Ability to modify output parameters in real-time (pitch, volume, ...) - 3D spatial features (position, attenuation, ...).

Sound is perfect for playing short sounds that can fit in memory and require no latency, like foot steps or gun shots. For longer sounds, like background musics or long speeches, rather see Music (which is based on streaming).

In order to work, a sound must be given a buffer of audio data to play. Audio data (samples) is stored in SoundBuffer, and attached to a sound with the setBuffer() function. The buffer object attached to a sound must remain alive as long as the sound uses it. Note that multiple sounds can use the same sound buffer at the same time.

See Also:


http:
//www.sfml-dev.org/documentation/2.0/classsf_1_1Sound.php#details

Authors:
Laurent Gomila, Jeremy DeHaan

@property void isLooping(bool loop);
Whether or not the 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 setLoop(false) is called.

The default looping state for sound is false.

@property bool isLooping();
Whether or not the 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 setLoop(false) is called.

The default looping state for sound is false.

@property void playingOffset(Time offset);
Change the current playing position (from the beginning) of the sound.

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

@property Time playingOffset();
Change the current playing position (from the beginning) of the sound.

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

@property Status status();
Get the current status of the sound (stopped, paused, playing).

Returns:
Current status of the sound

@property void pitch(float newPitch);
The pitch of the 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.

@property float pitch();
The pitch of the 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.

@property void volume(float newVolume);
The volume of the sound.

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

@property float volume();
The volume of the sound.

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

@property void position(Vector3f newPosition);
The 3D position of the 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).

@property Vector3f position();
The 3D position of the 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).

@property void relativeToListener(bool relative);
Make the sound's position relative to the listener (true) or absolute (false).

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).

@property bool relativeToListener();
Make the sound's position relative to the listener (true) or absolute (false).

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).

@property void minDistance(float distance);
The minimum distance of the 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.

@property float minDistance();
The minimum distance of the 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.

@property void attenuation(float newAttenuation);
The attenuation factor of the 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.

@property float attenuation();
The attenuation factor of the 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.

void pause();
Pause the sound.

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

void play();
Start or resume playing the sound.

This function starts the stream 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.

void stop();
Stop playing the 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 pause()).