18 AUDIO_FLAG_Uninitialized = 0,
19 AUDIO_FLAG_STOP_RELEASE,
20 AUDIO_FLAG_STOP_IMMEDIATE,
25 Audio_DistModel_NONE = 0,
26 Audio_DistModel_INVERSE_DISTANCE,
27 Audio_DistModel_INVERSE_DISTANCE_CLAMPED,
28 Audio_DistModel_LINEAR_DISTANCE,
29 Audio_DistModel_LINEAR_DISTANCE_CLAMPED,
30 Audio_DistModel_EXPONENT_DISTANCE,
31 Audio_DistModel_EXPONENT_DISTANCE_CLAMPED,
60 virtual bool play() = 0;
66 virtual bool play2d(
const bool& toLoop =
false) = 0;
73 virtual bool play3d(
const PARAVECTOR3& position,
const float& soundstr = 1.0 ,
const bool& toLoop =
false) = 0;
76 virtual void pause() = 0;
79 virtual void stop() = 0;
83 virtual void loop(
const bool& toLoop) = 0;
90 virtual bool seek(
const float& seconds,
bool relative =
false) = 0;
93 virtual float getTotalAudioTime() = 0;
96 virtual int getTotalAudioSize() = 0;
99 virtual int getCompressedAudioSize() = 0;
102 virtual float getCurrentAudioTime() = 0;
105 virtual int getCurrentAudioPosition() = 0;
108 virtual int getCurrentCompressedAudioPosition() = 0;
111 virtual bool update() = 0;
114 virtual void release() = 0;
117 virtual const bool isValid()
const = 0;
120 virtual const bool isPlaying()
const = 0;
123 virtual const bool isPaused()
const = 0;
126 virtual const bool isStopped()
const = 0;
129 virtual const bool isLooping()
const = 0;
134 virtual void setPosition(
const PARAVECTOR3& position) = 0;
139 virtual void setVelocity(
const PARAVECTOR3& velocity) = 0;
144 virtual void setDirection(
const PARAVECTOR3& direction) = 0;
150 virtual void setRolloffFactor(
const float& rolloff) = 0;
156 virtual void setStrength(
const float& soundstrength) = 0;
161 virtual void setMinDistance(
const float& minDistance) = 0;
166 virtual void setMaxDistance(
const float& maxDistance) = 0;
171 virtual void setPitch(
const float& pitch) = 0;
176 virtual void setVolume(
const float& volume) = 0;
181 virtual void setMinVolume(
const float& minVolume) = 0;
186 virtual void setMaxVolume(
const float& maxVolume) = 0;
192 virtual void setInnerConeAngle(
const float& innerAngle) = 0;
198 virtual void setOuterConeAngle(
const float& outerAngle) = 0;
203 virtual void setOuterConeVolume(
const float& outerVolume) = 0;
208 virtual void setDopplerStrength(
const float& dstrength) = 0;
213 virtual void setDopplerVelocity(
const PARAVECTOR3& dvelocity) = 0;
218 virtual void move(
const PARAVECTOR3& position) = 0;
227 virtual const PARAVECTOR3 getDirection()
const = 0;
230 virtual const float getRolloffFactor()
const = 0;
233 virtual const float getStrength()
const = 0;
236 virtual const float getMinDistance()
const = 0;
239 virtual const float getMaxDistance()
const = 0;
242 virtual const float getPitch()
const = 0;
245 virtual const float getVolume()
const = 0;
248 virtual const float getMinVolume()
const = 0;
251 virtual const float getMaxVolume()
const = 0;
254 virtual const float getInnerConeAngle()
const = 0;
257 virtual const float getOuterConeAngle()
const = 0;
260 virtual const float getOuterConeVolume()
const = 0;
263 virtual const float getDopplerStrength()
const = 0;
266 virtual const PARAVECTOR3 getDopplerVelocity()
const = 0;
273 virtual void unRegisterAllEventHandlers() = 0;
281 virtual void Release() = 0;
289 virtual bool initialize(
const char* deviceName = 0x0,
int outputFrequency = -1,
int eaxEffectSlots = 4) = 0;
292 virtual void shutDown() = 0;
295 virtual void update() = 0;
304 virtual void releaseAllSources() = 0;
313 virtual const char* getAvailableDeviceName(
unsigned int index) = 0;
317 virtual unsigned int getAvailableDeviceCount() = 0;
321 virtual const char* getDefaultDeviceName() = 0;
330 virtual IParaAudioSource* create(
const char* name,
const char* filename,
bool stream =
false) = 0;
340 virtual IParaAudioSource* createFromMemory(
const char* name,
const char* data,
size_t length,
const char* extension) = 0;
368 virtual void setPosition(
const PARAVECTOR3& pos) = 0;
372 virtual void setDirection(
const PARAVECTOR3& dir) = 0;
377 virtual void setUpVector(
const PARAVECTOR3& up) = 0;
381 virtual void setVelocity(
const PARAVECTOR3& vel) = 0;
385 virtual void setMasterVolume(
const float& volume) = 0;
405 virtual float getMasterVolume(
void)
const = 0;
412 virtual void SetCoordinateSystem(
int nLeftHand) = 0;
different physics engine has different winding order.
Definition: EventBinding.h:32
virtual void onPlay()=0
This function is called when a source starts playing.
ParaAudioFormats
Enumeration of audio formats supported by the engine.
Definition: IParaAudioEngine.h:7
ParaAudioFlagsEnum
Audio flags.
Definition: IParaAudioEngine.h:16
an audio source
Definition: IParaAudioEngine.h:55
virtual void onRelease()=0
This function is called when a source is released and soon to be deleted.
virtual void onStop()=0
This function is called when a source stopped playback.
ParaAudioEngine core interface.
Definition: IParaAudioEngine.h:278
Definition: PEtypes.h:298
virtual void onPause()=0
This function is called when a source is paused.
virtual void onUpdate()=0
This function is called when a source updates its buffers.
Interface for event handlers on Audio Sources.
Definition: IParaAudioEngine.h:35
ParaAudioDistanceModelEnum
Audio flags.
Definition: IParaAudioEngine.h:23