AudioListener

显示已弃用

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

AudioListener 从其周围的 AudioEmitters 记录音频流在 3D 世界中。它提供一个单一的 Output 引脚,可以通过 Wires 连接到其他引脚。 如果父对象是 AttachmentCameraPVInstance, 将使用父对象的世界 CFrame 进行监听。如果父对象 不是这些类之一,则 AudioListener 实际上听不见任何声音。

代码示例

摄像机监听器

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

概要

属性

方法

活动

属性

AngleAttenuation

BinaryString
Roblox 安全性
读取并联

表示一个音量与角度的曲线,影响 AudioListener 听到的 AudioEmitter 的音量,基于它们之间的角度 和与 AudioListener 相关联的 LookVector

此属性为内部属性,脚本无法访问;它存在是为了 支持复制。详见 SetAngleAttenuation() 的使用细节。

AudioInteractionGroup

读取并联

控制哪些 AudioEmitters 对此 AudioListener 可听。共享交互组的发射器可以 被此监听器听到。

DistanceAttenuation

BinaryString
Roblox 安全性
读取并联

表示一个音量与距离的曲线,影响 AudioListener 听到任何 AudioEmitters 的音量,基于它们之间的 距离。

此属性为内部属性,脚本无法访问;它存在是为了 支持复制。详见 SetDistanceAttenuation() 的使用细节。

读取并联

控制此 AudioListener 的音频模拟应有多详细,类似于 MeshPart.CollisionFidelityMeshPart.RenderFidelity

AudioListenersAudioEmitters 对必要的细节级别的观点不一致时,将使用较少详细的选项。

方法

GetAngleAttenuation

返回一个映射角度到音量的表。键是 0180 之间的数字(包含),而值是 01 之间的数字(包含),描述音量如何根据方向衰减。如果使用默认角度 衰减曲线,此方法返回空表。


返回

映射角度到音量的表,如上述所述。

GetAudibilityFor

计算 AudioEmitter 对此监听器的可听度。结果音量 从 01,考虑到发射器和监听器的距离和角度衰减。

参数

emitter: AudioEmitter

返回

GetConnectedWires

Instances

返回连接到指定引脚的 Wires 数组。AudioListener 只有一个 "Output" 引脚。

参数

pin: string

返回

Instances

GetDistanceAttenuation

返回一个映射距离到音量的表。键是大于或等于 0 的数字, 而值是 01 之间的数字(包含),描述音量如何根据距离衰减。如果使用默认距离 衰减曲线,此方法返回空表。


返回

GetInputPins


返回

GetInteractingEmitters

Instances

返回共享 AudioInteractionGroupAudioEmitters 数组。


返回

Instances

GetOutputPins


返回

SetAngleAttenuation

()

设置一个音量与角度的曲线,影响 AudioListener 将如何听到 AudioEmitter,基于它们之间的角度 和与 AudioListener 相关联的 LookVector

曲线由一个映射角度键到音量值的表表示。键应为唯一的数字, 介于 0180 之间(包含),而值应为介于 01 之间的数字(包含)。 支持包含最多 400 个键值对的表。

AudioListener 在角度 a 处看 AudioEmitter 的音量由 对曲线中直接位于 a 的上下两点的音量级别进行线性插值决定。 如果没有位于 a 下面的点或没有位于 a 上面的点,则选择另一个点的音量级别。 本质上,曲线是一系列用直线连接的点,并且在其左侧和右侧端点的外部,该曲线将分别沿其音量级别向外延伸。

此音量将与所有其他衰减曲线(包括发送的 AudioEmitter 上的曲线)中的音量相乘以获得最终的可听度。

如果表为空或 nil,则 AudioEmitter 默认使用 常量音量值为 1 的角度衰减曲线。

参数

curve: Dictionary

返回

()

SetDistanceAttenuation

()

设置一个音量与距离的曲线,影响 AudioListener 将如何听到任何 AudioEmitters, 基于它们之间的距离。

曲线由一个映射距离键到音量值的表表示。键应为唯一的数字, 大于或等于 0,而值应为介于 01 之间的数字(包含)。 支持包含最多 400 个键值对的表。

AudioListener 在距离 d 处看 AudioEmitter 的音量由 对曲线中直接位于 d 上下两点的音量级别进行线性插值决定。 如果没有位于 d 下面的点或没有位于 d 上面的点,则选择另一个点的音量级别。 本质上,曲线是一系列用直线连接的点,并且在其左侧和右侧端点的外部,该曲线将无限向外延伸, 延伸到各自的音量级别。

此音量将与所有其他衰减曲线中的音量相乘(包括发送的 AudioEmitter 上的曲线)以获得最终可听度。

如果表为空或 nil,则 AudioListener 默认应用 在任何地方均为常量音量 1

参数

curve: Dictionary

返回

()

活动

WiringChanged

Wire 连接或断开后触发事件, 并且该 Wire 现在或以前连接到 AudioListener 的引脚 和某个其他可接线实例。

参数

connected: boolean

实例是否已连接或断开。

pin: string

AudioListener 上的引脚,Wire 目标的引脚。

wire: Wire

AudioListener 和另一个实例之间的 Wire

instance: Instance

通过 Wire 已连接或曾连接的另一个实例。