AudioListener
Records an audio stream from its surrounding AudioEmitters in the 3D world.
Memory category | Internal |
---|
Member index 12
Description
AudioListener records an audio stream from its surrounding AudioEmitters in the 3D world. It provides a single Output pin which can be connected to other pins via Wires. If the parent is an Attachment, Camera, or PVInstance, the parent's world CFrame will be used for listening. If the parent is not one of these classes, the AudioListener effectively hears nothing.
History 23
- 652 Add WiringChanged
- 652 Add SimulationFidelity
- 648 Add SetAngleAttenuation
- 648 Change ReturnType of GetInteractingEmitters from Objects to Instances
- 648 Change ReturnType of GetConnectedWires from Objects to Instances
- 648 Add GetAngleAttenuation
- 648 Add AngleAttenuation
- 643 Change Tags of AudioListener from [NotBrowsable] to []
- 641 Add SetDistanceAttenuation
- 641 Add GetDistanceAttenuation
- 641 Add DistanceAttenuation
- 637 Change ReturnType of GetInteractingEmitters from Array to Objects
- 637 Change ReturnType of GetConnectedWires from Array to Objects
- 636 Change Security of GetInteractingEmitters from RobloxScriptSecurity to None
- 618 Change Security of GetConnectedWires from PluginSecurity to None
- 607 Change Security of GetConnectedWires from RobloxScriptSecurity to PluginSecurity
- 597 Change MemoryCategory of AudioListener from Instances to Internal
- 593 Add GetInteractingEmitters
- 593 Add GetConnectedWires
- 593 Add GetAudibilityOf
- 592 Change Category of AudioInteractionGroup from Data to Interactions
- 588 Add AudioInteractionGroup
- 588 Add AudioListener
Members 12
AngleAttenuation
Type | Default | |
---|---|---|
BinaryString |
Represents a volume-over-angle curve that affects how loudly a AudioListener will hear the AudioEmitter, based on the angle between them and the LookVector associated with the AudioListener.
This property is internal and can't be accessed by scripts; it exists to support replication. See SetAngleAttenuation() for usage details.
Security | RobloxSecurity |
---|---|
Thread safety | ReadSafe |
Category | Listening |
Loaded/Saved | true |
History 1
- 648 Add AngleAttenuation
AudioInteractionGroup
Type | Default | |
---|---|---|
string |
Controls which AudioEmitters are audible to this AudioListener. Emitters that share an interaction group can be heard by this Listener.
Thread safety | ReadSafe |
---|---|
Category | Interactions |
Loaded/Saved | true |
History 2
- 592 Change Category of AudioInteractionGroup from Data to Interactions
- 588 Add AudioInteractionGroup
DistanceAttenuation
Type | Default | |
---|---|---|
BinaryString |
Represents a volume-over-distance curve that affects how loudly the AudioListener hears any AudioEmitters, based on the distance between them.
This property is internal and can't be accessed by scripts; it exists to support replication. See SetDistanceAttenuation() for usage details.
Security | RobloxSecurity |
---|---|
Thread safety | ReadSafe |
Category | Listening |
Loaded/Saved | true |
History 1
GetAngleAttenuation
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
Dictionary |
Returns a table mapping angle to volume. Keys are numbers between 0
and
180
(inclusive), while values are numbers between 0
and 1
(inclusive) describing how volume attenuates depending on direction. This
method returns an empty table if the default angle attenuation curve is
being used.
Thread safety | Unsafe |
---|
History 1
GetAudibilityOf
Parameters (1) | ||
---|---|---|
emitter | AudioEmitter | |
Returns (1) | ||
float |
Security | RobloxScriptSecurity |
---|---|
Thread safety | Unsafe |
History 1
- 593 Add GetAudibilityOf
GetConnectedWires
Parameters (1) | ||
---|---|---|
pin | string | |
Returns (1) | ||
Instances |
Returns an array of Wires that are connected to the specified pin. AudioListener has one "Output" pin.
Thread safety | Unsafe |
---|
History 5
- 648 Change ReturnType of GetConnectedWires from Objects to Instances
- 637 Change ReturnType of GetConnectedWires from Array to Objects
- 618 Change Security of GetConnectedWires from PluginSecurity to None
- 607 Change Security of GetConnectedWires from RobloxScriptSecurity to PluginSecurity
- 593 Add GetConnectedWires
GetDistanceAttenuation
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
Dictionary |
Returns a table mapping distance to volume. Keys are numbers greater than or equal to 0, while values are numbers between 0 and 1 (inclusive) describing how volume attenuates over distance. This method returns an empty table if the default distance attenuation curve is being used.
Thread safety | Unsafe |
---|
History 1
GetInteractingEmitters
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
Instances |
Thread safety | Unsafe |
---|
History 4
- 648 Change ReturnType of GetInteractingEmitters from Objects to Instances
- 637 Change ReturnType of GetInteractingEmitters from Array to Objects
- 636 Change Security of GetInteractingEmitters from RobloxScriptSecurity to None
- 593 Add GetInteractingEmitters
SetAngleAttenuation
Parameters (1) | ||
---|---|---|
curve | Dictionary | |
Returns (1) | ||
null |
Sets a volume-over-angle curve that affects how loudly a AudioListener will hear the AudioEmitter, based on the angle between them and the LookVector associated with the AudioListener.
The curve is represented by a table mapping angle keys to volume values.
Keys are expected to be unique numbers between 0
and 180
(inclusive),
while values are expected to be numbers between 0
and 1
(inclusive).
Tables containing up to 400 key-value pairs are supported.
The volume of a AudioEmitter from the perspective of the
AudioListener at an angle a
is determined by linearly
interpolating between the volume levels for the points on the curve whose
angle values are directly above and below a
. If there is either no point
below a
or no point above a
, the volume level of the other point is
chosen. Essentially, the curve is a sequence of points connected by
straight lines, and beyond its left and right endpoints the curve extends
outward at their respective volume levels.
This volume will be multiplied with the volumes from all other attenuation curves (including the ones on the sending AudioEmitter) to obtain the final audibility.
If the table is empty or nil
, the AudioEmitter defaults to using
an angle attenuation curve with the constant volume value of 1
.
Thread safety | Unsafe |
---|
History 1
SetDistanceAttenuation
Parameters (1) | ||
---|---|---|
curve | Dictionary | |
Returns (1) | ||
null |
Sets a volume-over-distance curve that affects how loudly the AudioListener will hear any AudioEmitters, based on the distance between them.
The curve is represented by a table mapping distance keys to volume values. Keys are expected to be unique numbers greater than or equal to 0, while values are expected to be numbers between 0 and 1 (inclusive). Tables containing up to 400 key-value pairs are supported.
The volume of a AudioEmitter from the perspective of the
AudioListener at a distance d
is determined by linearly
interpolating between the volume levels for the points on the curve whose
distance values are directly above and below d
. If there is either no
point below d
or no point above d
, the volume level of the other point
is chosen. Essentially, the curve is a sequence of points connected by
straight lines, and beyond its left and right endpoints the curve extends
outward infinitely at their respective volume levels.
This volume will be multiplied with the volumes from all other attenuation curves (including the ones on the sending AudioEmitter) to obtain the final audibility.
If the table is empty or nil
, the AudioListener defaults to
applying a constant volume of 1 everywhere.
Thread safety | Unsafe |
---|
History 1
SimulationFidelity
Type | Default | |
---|---|---|
AudioSimulationFidelity | Automatic |
Thread safety | ReadSafe |
---|---|
Category | Simulation |
Loaded/Saved | true |
History 1
WiringChanged
Parameters (4) | |
---|---|
connected | bool |
pin | string |
wire | Wire |
instance | Instance |
Thread safety | Unsafe |
---|
History 1
- 652 Add WiringChanged