We use cookies on this site to enhance your user experience
Collapse Sidebar


GetListener returns SoundServices current listener type and what is set as listener.

The first result returned is the Enum/ListenerType of the listener, the second result is dependent on the listener type.

  • Camera ListenerType - Does not return a listener object as Workspace/CurrentCamera is always used
  • CFrame ListenerType - Returns the DataType/CFrame used in SoundService/SetListener
  • ObjectPosition ListenerType - Returns the BasePart used in SoundService/SetListener
  • ObjectCFrame ListenerType - Returns the BasePart used in SoundService/SetListener

The listener can be changed using SoundService/SetListener.

local SoundService = game:GetService("SoundService")
SoundService:SetListener(Enum.ListenerType.CFrame, CFrame.new(0, 0, 0))
local listenerType, listener = SoundService:GetListener()
print(listenerType, listener)

What is a listener?

The SoundService's listener determines the point from which audio in the game is being ‘heard’ by the player. For 3D Sounds (Sounds parented to a BasePart or Attachment) the listener influences the volume and left/right balance of a playing sound. Listeners have no influence on the playback of 2D Sounds as they have no position of emission.

By default, the listener is set to the Workspace/CurrentCamera. However, a range of different types of listeners can be used.


Return Type Summary

The current Enum/ListenerType and what the listener has been set to. Dependent on Enum/ListenerType the listener could be a BasePart, a DataType/CFrame or nil.