Class AudioSource

Inheritance Relationships

Derived Types

Class Documentation

class AudioSource

An interface for an audio source in the game world.

Subclassed by StaticAudioSource, StreamingAudioSource

Public Types

enum AttenuationModel

Defines all attenuation models provided by OpenAL.

Values:

Linear = AL_LINEAR_DISTANCE
Inverse = AL_INVERSE_DISTANCE
Exponential = AL_EXPONENT_DISTANCE
LinearClamped = AL_LINEAR_DISTANCE_CLAMPED
InverseClamped = AL_INVERSE_DISTANCE_CLAMPED
ExponentialClamped = AL_EXPONENT_DISTANCE_CLAMPED

Public Functions

virtual void setLooping(bool enabled)
virtual void queueNewBuffers()

Queue new buffers to the audio card if possible.

void play()
void pause()
void stop()
bool isPlaying() const
bool isPaused() const
bool isStopped() const
virtual bool isLooping() const
ALuint getSourceID() const
virtual float getDuration() const = 0

Get audio duration in seconds.

void setVelocity(const Vector3 &velocity)
void setVolume(float volume)
void setPosition(Vector3 &position)
void setModel(AttenuationModel distanceModel)
void setRollOffFactor(ALfloat rolloffFactor)

Roll Off Factor: The rate of change of attenuation.

void setReferenceDistance(ALfloat referenceDistance)

Reference Distance: Distance until which clamping occurs.

void setMaxDistance(ALfloat maxDistance)

Protected Functions

AudioSource(bool isStreaming)
virtual ~AudioSource()

Protected Attributes

ALuint m_SourceID
bool m_IsStreaming

RTTI for storing if the audio buffer is being streamed.