学习
引擎类
AudioFilter

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


代码示例
发射器过滤
-- 这假设工作区包含一个带有 AudioEmitter 和 AudioPlayer 的 Part,并且相机有一个 AudioListener
local RunService = game:GetService("RunService")
local part: BasePart = workspace.Part
local camera: Camera = workspace.CurrentCamera
local audioPlayer: AudioPlayer = part.AudioPlayer
local audioEmitter: AudioEmitter = part.AudioEmitter
local audioListener: AudioListener = camera.AudioListener
local raycastParams = RaycastParams.new()
raycastParams.FilterDescendantsInstances = { audioEmitter.Parent }
raycastParams.FilterType = Enum.RaycastFilterType.Exclude
-- 创建一个新的 AudioFilter
local filter: AudioFilter = Instance.new("AudioFilter")
filter.FilterType = Enum.AudioFilterType.Lowpass12dB
filter.Frequency = 22000
filter.Q = math.sqrt(2) / 2 -- 这个 Q 值产生一个平坦的低通 12dB 陡度类型
filter.Parent = part
-- 将 AudioFilter 放在播放器和发射器之间
local function wireTo(source: Instance, target: Instance): Wire
local wire = Instance.new("Wire")
wire.SourceInstance = source
wire.TargetInstance = target
wire.Parent = target
end
wireTo(audioPlayer, filter)
wireTo(filter, audioEmitter)
-- 根据发射器和监听器的位置更新滤波器
RunService.Heartbeat:Connect(function()
local emitterPos: Vector3 = part.Position
local listenerPos: Vector3 = camera.CFrame.Position
local raycastResult = workspace:Raycast(emitterPos, (listenerPos - emitterPos), raycastParams)
filter.Frequency = if raycastResult then 500 else 22000
end)

API 参考
属性
Bypass
读取并联
功能: Audio
AudioFilter.Bypass:boolean

FilterType
读取并联
功能: Audio
AudioFilter.FilterType:Enum.AudioFilterType

Frequency
读取并联
功能: Audio
AudioFilter.Frequency:number

Gain
读取并联
功能: Audio
AudioFilter.Gain:number

Q
读取并联
功能: Audio
AudioFilter.Q:number

方法
GetConnectedWires
功能: Audio
AudioFilter:GetConnectedWires(pin:string):{Wire}
参数
pin:string
返回

GetGainAt
功能: Audio
AudioFilter:GetGainAt(frequency:number):number
参数
frequency:number
返回

GetInputPins
功能: Audio
AudioFilter:GetInputPins():{any}
返回

GetOutputPins
功能: Audio
AudioFilter:GetOutputPins():{any}
返回

活动
WiringChanged
功能: Audio
AudioFilter.WiringChanged(
connected:boolean, pin:string, wire:Wire, instance:Instance
参数
connected:boolean
pin:string
wire:Wire
instance:Instance

©2026 Roblox Corporation、Roblox、Roblox 标志及 Powering Imagination 是我们在美国及其他国家或地区的注册与未注册商标。