A node that plays sounds in 3D space. It can be used to play a looping sound or a one-off sound. See the Audio system for playing audio without using a node.
Inheritance:
Assign a sound wave asset to be played.
Sig: Audio3D:SetSoundWave(soundWave)
- Arg:
SoundWave soundWave
SoundWave asset
Get the currently assigned sound wave.
Sig: soundWave = Audio3D:GetSoundWave()
- Ret:
SoundWave soundWave
SoundWave asset
Set the inner radius. The inner radius defines the distance away from the node at which the sound is the loudest. Going closer to the node won't increase the volume any further.
Sig: Audio3D:SetInnerRadius(radius)
- Arg:
number radius
Inner radius
Get the inner radius. The inner radius defines the distance away from the node at which the sound is the loudest. Going closer to the node won't increase the volume any further.
Sig: radius = Audio3D:GetInnerRadius()
- Ret:
number radius
Inner radius
Set the outer radius. The outer radius defines the distance away from the node at which the sound can't be heard anymore. Volume will increase when moving from the outer radius distance to the inner radius distance.
Sig: Audio3D:SetOuterRadius(radius)
- Arg:
number radius
Outer radius
Get the outer radius. The outer radius defines the distance away from the node at which the sound can't be heard anymore. Volume will increase when moving from the outer radius distance to the inner radius distance.
Sig: radius = Audio3D:GetOuterRadius()
- Ret:
number radius
Outer radius
Set the volume multiplier.
Sig: Audio3D:SetVolume(volume)
- Arg:
number volume
Volume
Get the volume multiplier.
Sig: volume = Audio3D:GetVolume()
- Ret:
number volume
Volume
Set the pitch multiplier.
Sig: Audio3D:SetPitch(pitch)
- Arg:
number pitch
Pitch
Get the pitch multiplier.
Sig: pitch = Audio3D:GetPitch()
- Ret:
number pitch
Pitch
Adjust the start time when the audio is played.
Sig: Audio3D:SetStartOffset(offset)
- Arg:
number offset
Time offset in seconds
Get the start time offset.
Sig: offset = Audio3D:GetStartOffset()
- Ret:
number offset
Time offset in seconds
Set the priority of this node's audio. If the number of concurrent sounds has been reached, sounds with lower priority will be stopped to allow sounds with higher priority to play. Default priority is 0. Priority is stored as 32-bit integer and can be negative.
Sig: Audio3D:SetPriority(priority)
- Arg:
integer priority
Sound priority
Get the audio priority of this node. If the number of concurrent sounds has been reached, sounds with lower priority will be stopped to allow sounds with higher priority to play. Default priority is 0. Priority is stored as 32-bit integer and can be negative.
Sig: priority = Audio3D:GetPriority()
- Ret:
integer priority
Sound priority
Set the sound intensity attenuation function. The attenuation controls how quickly a sound's volume fades out when moving from the inner radius to the outer radius, or alternatively, how quickly a sound's volume fades in when moving from the outer radius to the inner radius.
See the AttenuationFunc enumeration.
Sig: Audio3D:SetAttenuationFunc(attenFunc)
- Arg:
AttenuationFunc(integer) attenFunc
Attenuation function
Get the sound intensity attenuation function. The attenuation controls how quickly a sound's volume fades out when moving from the inner radius to the outer radius, or alternatively, how quickly a sound's volume fades in when moving from the outer radius to the inner radius.
See the AttenuationFunc enumeration.
Sig: attenFunc = Audio3D:GetAttenuationFunc()
- Ret:
AttenuationFunc(integer) attenFunc
Attenuation function
Set whether the sound wave should loop.
Sig: Audio3D:SetLoop(loop)
- Arg:
boolean loop
Loop
Check if the sound wave is set to loop after finishing playing.
Sig: loop = Audio3D:GetLoop()
- Ret:
boolean loop
Loop
Set whether sound should automatically play when the node starts (i.e. when the node's Start() function is called).
Sig: Audio3D:SetAutoPlay(autoPlay)
- Arg:
boolean autoPlay
Auto play
Check if the sound is set to automatically play when the node starts.
Sig: autoPlay = Audio3D:GetAutoPlay()
- Ret:
boolean autoPlay
Auto play
Return the amount of time in seconds that this node has been playing audio.
Sig: playTime = Audio3D:GetPlayTime()
- Ret:
number playTime
Time in seconds that audio has been playing.
Check if this node is currently playing a sound wave.
Sig: playing = Audio3D:IsPlaying()
- Ret:
boolean playing
True if a sound wave is playing
Check if this node can be heard by the audio receiver (e.g. the player, or camera). If the audio receiver moves outside of this node's outer radius, then this will return false. See World.SetAudioReceiver() for how to change the receiver.
Sig: audible = Audio3D:IsAudible()
- Ret:
boolean audible
True if receiver can hear the audio
Play this node's assigned sound wave. If this node is already playing a sound wave, this function won't do anything. You can use ResetAudio() if you want to replay from the beginning of the sound wave. An Audio3D node can only play one sound wave at a time.
Sig: Audio3D:PlayAudio()
Pause the sound wave that is being played. Calling PlayAudio() later will pick up where it left off.
Sig: Audio3D:PauseAudio()
Stop the sound wave that is being played. This will also reset the current play time back to the beginning of the sound wave. Use PauseAudio() if you want to pick up where it left off.
Sig: Audio3D:StopAudio()
Reset the play position back to the beginning of the sound wave. This works whether the sound wave is playing or not.
Sig: Audio3D:ResetAudio()