SFML
Simple and Fast Multimedia Library
Loading...
Searching...
No Matches
sf::Listener Namespace Reference

The audio listener is the point in the scene from where all the sounds are heard. More...

Classes

struct  Cone
 Structure defining the properties of a directional cone. More...

Functions

SFML_AUDIO_API void setGlobalVolume (float volume)
 Change the global volume of all the sounds and musics.
SFML_AUDIO_API float getGlobalVolume ()
 Get the current value of the global volume.
SFML_AUDIO_API void setPosition (const Vector3f &position)
 Set the position of the listener in the scene.
SFML_AUDIO_API Vector3f getPosition ()
 Get the current position of the listener in the scene.
SFML_AUDIO_API void setDirection (const Vector3f &direction)
 Set the forward vector of the listener in the scene.
SFML_AUDIO_API Vector3f getDirection ()
 Get the current forward vector of the listener in the scene.
SFML_AUDIO_API void setVelocity (const Vector3f &velocity)
 Set the velocity of the listener in the scene.
SFML_AUDIO_API Vector3f getVelocity ()
 Get the current forward vector of the listener in the scene.
SFML_AUDIO_API void setCone (const Listener::Cone &cone)
 Set the cone properties of the listener in the audio scene.
SFML_AUDIO_API Listener::Cone getCone ()
 Get the cone properties of the listener in the audio scene.
SFML_AUDIO_API void setUpVector (const Vector3f &upVector)
 Set the upward vector of the listener in the scene.
SFML_AUDIO_API Vector3f getUpVector ()
 Get the current upward vector of the listener in the scene.

Detailed Description

The audio listener is the point in the scene from where all the sounds are heard.

The audio listener defines the global properties of the audio environment, it defines where and how sounds and musics are heard. If sf::View is the eyes of the user, then sf::Listener is his ears (by the way, they are often linked together – same position, orientation, etc.).

sf::Listener is a simple interface, which allows to setup the listener in the 3D audio environment (position, direction and up vector), and to adjust the global volume.

Usage example:

// Move the listener to the position (1, 0, -5)
// Make it face the right axis (1, 0, 0)
// Reduce the global volume
SFML_AUDIO_API void setPosition(const Vector3f &position)
Set the position of the listener in the scene.
SFML_AUDIO_API void setGlobalVolume(float volume)
Change the global volume of all the sounds and musics.
SFML_AUDIO_API void setDirection(const Vector3f &direction)
Set the forward vector of the listener in the scene.

Function Documentation

◆ getCone()

SFML_AUDIO_API Listener::Cone sf::Listener::getCone ( )
nodiscard

Get the cone properties of the listener in the audio scene.

Returns
Cone properties of the listener
See also
setCone

◆ getDirection()

SFML_AUDIO_API Vector3f sf::Listener::getDirection ( )
nodiscard

Get the current forward vector of the listener in the scene.

Returns
Listener's forward vector (not normalized)
See also
setDirection

◆ getGlobalVolume()

SFML_AUDIO_API float sf::Listener::getGlobalVolume ( )
nodiscard

Get the current value of the global volume.

Returns
Current global volume, in the range [0, 100]
See also
setGlobalVolume

◆ getPosition()

SFML_AUDIO_API Vector3f sf::Listener::getPosition ( )
nodiscard

Get the current position of the listener in the scene.

Returns
Listener's position
See also
setPosition

◆ getUpVector()

SFML_AUDIO_API Vector3f sf::Listener::getUpVector ( )
nodiscard

Get the current upward vector of the listener in the scene.

Returns
Listener's upward vector (not normalized)
See also
setUpVector

◆ getVelocity()

SFML_AUDIO_API Vector3f sf::Listener::getVelocity ( )
nodiscard

Get the current forward vector of the listener in the scene.

Returns
Listener's velocity
See also
setVelocity

◆ setCone()

SFML_AUDIO_API void sf::Listener::setCone ( const Listener::Cone & cone)

Set the cone properties of the listener in the audio scene.

The cone defines how directional attenuation is applied. The default cone of a sound is {2 * PI, 2 * PI, 1}.

Parameters
coneCone properties of the listener in the scene
See also
getCone

◆ setDirection()

SFML_AUDIO_API void sf::Listener::setDirection ( const Vector3f & direction)

Set the forward vector of the listener in the scene.

The direction (also called "at vector") is the vector pointing forward from the listener's perspective. Together with the up vector, it defines the 3D orientation of the listener in the scene. The direction vector doesn't have to be normalized. The default listener's direction is (0, 0, -1).

Parameters
directionNew listener's direction
See also
getDirection, setUpVector, setPosition

◆ setGlobalVolume()

SFML_AUDIO_API void sf::Listener::setGlobalVolume ( float volume)

Change the global volume of all the sounds and musics.

The volume is a number between 0 and 100; it is combined with the individual volume of each sound / music. The default value for the volume is 100 (maximum).

Parameters
volumeNew global volume, in the range [0, 100]
See also
getGlobalVolume

◆ setPosition()

SFML_AUDIO_API void sf::Listener::setPosition ( const Vector3f & position)

Set the position of the listener in the scene.

The default listener's position is (0, 0, 0).

Parameters
positionNew listener's position
See also
getPosition, setDirection

◆ setUpVector()

SFML_AUDIO_API void sf::Listener::setUpVector ( const Vector3f & upVector)

Set the upward vector of the listener in the scene.

The up vector is the vector that points upward from the listener's perspective. Together with the direction, it defines the 3D orientation of the listener in the scene. The up vector doesn't have to be normalized. The default listener's up vector is (0, 1, 0). It is usually not necessary to change it, especially in 2D scenarios.

Parameters
upVectorNew listener's up vector
See also
getUpVector, setDirection, setPosition

◆ setVelocity()

SFML_AUDIO_API void sf::Listener::setVelocity ( const Vector3f & velocity)

Set the velocity of the listener in the scene.

The default listener's velocity is (0, 0, -1).

Parameters
velocityNew listener's velocity
See also
getVelocity, getDirection, setUpVector, setPosition