Learn
Engine Class
AudioListener

Code Samples
Camera Listener
local listener = Instance.new("AudioListener")
local output = Instance.new("AudioDeviceOutput")
local wire = Instance.new("Wire")
listener.Parent = workspace.Camera
wire.Parent = listener
output.Parent = wire
wire.SourceInstance = listener
wire.TargetInstance = output

API Reference
Properties
AcousticSimulationEnabled
Read Parallel
Capabilities: Audio
AudioListener.AcousticSimulationEnabled:boolean

AngleAttenuation
Roblox Security
Read Parallel
Capabilities: Audio
AudioListener.AngleAttenuation:Flyweight

AudioInteractionGroup
Read Parallel
Capabilities: Audio
AudioListener.AudioInteractionGroup:string

DistanceAttenuation
Roblox Security
Read Parallel
Capabilities: Audio
AudioListener.DistanceAttenuation:Flyweight

PositionInstance
Read Parallel
Capabilities: Audio
AudioListener.PositionInstance:Instance

PositionType
Read Parallel
Capabilities: Audio
AudioListener.PositionType:Enum.ListenerPositionType

SimulationFidelity
Deprecated

Methods
GetAngleAttenuation
Capabilities: Audio
AudioListener:GetAngleAttenuation():Dictionary
Returns

GetAudibilityFor
Capabilities: Audio
AudioListener:GetAudibilityFor(emitter:AudioEmitter):number
Parameters
emitter:AudioEmitter
Returns

GetConnectedWires
Capabilities: Audio
AudioListener:GetConnectedWires(pin:string):{Wire}
Parameters
pin:string
Returns

GetDistanceAttenuation
Capabilities: Audio
AudioListener:GetDistanceAttenuation():Dictionary
Returns

GetInputPins
Capabilities: Audio
AudioListener:GetInputPins():{any}
Returns

GetInteractingEmitters
Capabilities: Audio
AudioListener:GetInteractingEmitters():{AudioEmitter}
Returns

GetOutputPins
Capabilities: Audio
AudioListener:GetOutputPins():{any}
Returns

SetAngleAttenuation
Capabilities: Audio
AudioListener:SetAngleAttenuation(curve:Dictionary):()
Parameters
Returns
()
Code Samples
Camera Listener
local Workspace = game:GetService("Workspace")
local currentCamera = Workspace.CurrentCamera
local listener = Instance.new("AudioListener")
listener.Parent = currentCamera
local wire = Instance.new("Wire")
wire.Parent = listener
local output = Instance.new("AudioDeviceOutput")
output.Parent = wire
listener:SetAngleAttenuation({
[0] = 1, -- Emitters directly in front of the listener will be full volume
[180] = 0.5 -- Emitters directly behind the listener will be half volume
})
wire.SourceInstance = listener
wire.TargetInstance = output

SetDistanceAttenuation
Capabilities: Audio
AudioListener:SetDistanceAttenuation(curve:Dictionary):()
Parameters
Returns
()

Events
WiringChanged
Capabilities: Audio
AudioListener.WiringChanged(
connected:boolean, pin:string, wire:Wire, instance:Instance
Parameters
connected:boolean
pin:string
wire:Wire
instance:Instance

©2026 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.