# Sandbox.SoundHandle

A handle to a sound that is currently playing. You can use this to control the sound's position, volume, pitch etc.

- Kind: class
- Namespace: `Sandbox`
- Assembly: `Sandbox.Engine`

## Properties

- [`AirAbsorption`](/api/Sandbox.SoundHandle/AirAbsorption): Should the sound get absorbed by air, so it sounds different at distance
- [`Amplitude`](/api/Sandbox.SoundHandle/Amplitude): Measure of audio loudness.
- [`Decibels`](/api/Sandbox.SoundHandle/Decibels)
- [`Distance`](/api/Sandbox.SoundHandle/Distance): How many units the sound can be heard from.
- [`DistanceAttenuation`](/api/Sandbox.SoundHandle/DistanceAttenuation): Should the sound fade out over distance
- [`ElapsedTime`](/api/Sandbox.SoundHandle/ElapsedTime)
- [`Fadein`](/api/Sandbox.SoundHandle/Fadein): The fadein curve for when the sound starts.
- [`Fadeout`](/api/Sandbox.SoundHandle/Fadeout): The fadeout curve for when the sound stops.
- [`Falloff`](/api/Sandbox.SoundHandle/Falloff): The falloff curve for the sound.
- [`Finished`](/api/Sandbox.SoundHandle/Finished): Sound is done
- [`FollowParent`](/api/Sandbox.SoundHandle/FollowParent): Update our position every frame relative to our parent
- [`IsPlaying`](/api/Sandbox.SoundHandle/IsPlaying): Whether the sound is currently playing or not.
- [`IsStopped`](/api/Sandbox.SoundHandle/IsStopped): True if the sound has been stopped
- [`IsValid`](/api/Sandbox.SoundHandle/IsValid)
- [`LipSync`](/api/Sandbox.SoundHandle/LipSync): Access lipsync processing.
- [`ListenLocal`](/api/Sandbox.SoundHandle/ListenLocal): Place the listener at 0,0,0 facing 1,0,0.
- [`LocalTransform`](/api/Sandbox.SoundHandle/LocalTransform): If we're following a parent, our position will be this relative to them.
- [`Loopback`](/api/Sandbox.SoundHandle/Loopback): If true, then this sound won't be played unless voice_loopback is 1. The assumption is that it's the local user's voice. Amplitude and visme data will still be available!
- [`Name`](/api/Sandbox.SoundHandle/Name): A debug name to help identify the sound
- [`Occlusion`](/api/Sandbox.SoundHandle/Occlusion): Legacy alias for [Sandbox.SoundHandle.OcclusionEnabled](/api/Sandbox.SoundHandle/OcclusionEnabled).
- [`OcclusionEnabled`](/api/Sandbox.SoundHandle/OcclusionEnabled): Allow this sound to be occluded by geometry etc
- [`OcclusionRadius`](/api/Sandbox.SoundHandle/OcclusionRadius): Legacy occlusion radius setting. No longer used by the simulation.
- [`Parent`](/api/Sandbox.SoundHandle/Parent): If set with a parent and  is true, we will update our position to match the parent's world position. You can use  to set an offset from the parent's position. Setting a parent also allows you to use GameObject.StopAllSounds on the parent to stop all sounds that are following it. This is set automatically when calling  on a GameObject, but you can set it manually if you want to change the parent of an existing sound handle.
- [`Paused`](/api/Sandbox.SoundHandle/Paused): Whether the sound is currently paused or not.
- [`Pitch`](/api/Sandbox.SoundHandle/Pitch): Pitch of the sound.
- [`Position`](/api/Sandbox.SoundHandle/Position): Position of the sound.
- [`Reflections`](/api/Sandbox.SoundHandle/Reflections): Legacy alias for [Sandbox.SoundHandle.ReverbEnabled](/api/Sandbox.SoundHandle/ReverbEnabled).
- [`Reverb`](/api/Sandbox.SoundHandle/Reverb): How much this sound contributes to room reverb. 1 = full reverb, 0 = completely dry.
- [`ReverbEnabled`](/api/Sandbox.SoundHandle/ReverbEnabled): Enable reverb simulation for this sound (reflections/late reverb).
- [`Rotation`](/api/Sandbox.SoundHandle/Rotation): The direction the sound is facing
- [`SampleRate`](/api/Sandbox.SoundHandle/SampleRate): How many samples per second?
- [`SoundFile`](/api/Sandbox.SoundHandle/SoundFile): The sound file this handle is playing, when we know it - sounds played from a [Sandbox.SoundHandle.SoundFile](/api/Sandbox.SoundHandle/SoundFile) or a [Sandbox.SoundEvent](/api/Sandbox.SoundEvent) do, procedural streams don't.
- [`SpacialBlend`](/api/Sandbox.SoundHandle/SpacialBlend): How 3d the sound should be. 0 means no 3d, 1 means fully
- [`Subtitles`](/api/Sandbox.SoundHandle/Subtitles): The subtitle track of the sound being played, or null if it doesn't have one. Sample [Sandbox.SubtitleTrack.WordIndexAt](/api/Sandbox.SubtitleTrack/WordIndexAt) at [Sandbox.SoundHandle.Time](/api/Sandbox.SoundHandle/Time) while the sound plays to show the words as they're spoken, karaoke style - or let [Sandbox.SubtitlesGameObjectSystem](/api/Sandbox.SubtitlesGameObjectSystem) do it for you.
- [`TargetMixer`](/api/Sandbox.SoundHandle/TargetMixer): Which mixer do we want to write to
- [`Time`](/api/Sandbox.SoundHandle/Time): The current time of the playing sound in seconds. Note: for some formats seeking may be expensive, and some may not support it at all.
- [`Transform`](/api/Sandbox.SoundHandle/Transform): This sound's transform
- [`Transmission`](/api/Sandbox.SoundHandle/Transmission): Legacy transmission toggle. Transmission is now derived from occlusion and material response.
- [`Volume`](/api/Sandbox.SoundHandle/Volume): Volume of the sound.

## Methods

- [`ClearParent`](/api/Sandbox.SoundHandle/ClearParent): Clear our parent - stop following
- [`Dispose`](/api/Sandbox.SoundHandle/Dispose)
- [`GetActive`](/api/Sandbox.SoundHandle/GetActive)
- [`SetParent`](/api/Sandbox.SoundHandle/SetParent): Tell the SoundHandle to follow this GameObject's position
- [`Stop`](/api/Sandbox.SoundHandle/Stop)
- [`Update`](/api/Sandbox.SoundHandle/Update): Called to push changes to a sound immediately, rather than waiting for the next tick. You should call this if you make changes to a sound.
