AudioEqualizer
*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.
AudioEqualizer ajusta o conteúdo de frequência de streams de áudio.Ele fornece um pino de entrada e um pino de saída que pode ser conectado a/de Wires.AudioEqualizer tem 3 bandas de frequência cujos valores de ganho podem ser controlados e os pontos de crossover entre as bandas podem ser movidos.
Amostras de código
An AudioEqualizer can be used to change the frequency content of audio streams. This can be done before emission, or after listening, and can be used to implement your own, custom RollOff logic! In this example, we use an AudioEqualizer to make an AudioPlayer's high frequencies more muffled as the AudioListener looks away from the AudioEmitter. We also reduce both the low and high frequencies as the listener gets further away.
local function wireUp(source: Instance, target: Instance): Wire
local wire = Instance.new("Wire")
wire.Parent = target
wire.SourceInstance = source
wire.TargetInstance = target
return wire
end
local function getCFrameFrom(inst: Instance): CFrame?
local parent = inst.Parent
if not parent then
return nil
elseif parent:IsA("Model") then
return parent.WorldPivot
elseif parent:IsA("BasePart") then
return parent.CFrame
elseif parent:IsA("Attachment") then
return parent.WorldCFrame
elseif parent:IsA("Camera") then
return parent.CFrame
else
return nil
end
end
local function rescale(value: number, oldRange: NumberRange, newRange: NumberRange): number
local clamped = math.clamp(value, oldRange.Min, oldRange.Max)
local normalized = clamped - oldRange.Min / (oldRange.Max - oldRange.Min)
return normalized * (newRange.Max - newRange.Min) + newRange.Min
end
local assetPlayer = Instance.new("AudioPlayer")
assetPlayer.AssetId = "rbxassetid://142376088"
assetPlayer.Parent = workspace
local equalizer = Instance.new("AudioEqualizer")
equalizer.MidRange = NumberRange.new(400, 3000)
equalizer.Parent = workspace
local emitterPart = Instance.new("Part")
emitterPart.Anchored = true
emitterPart.Position = Vector3.new(0, 5, 0)
emitterPart.Parent = workspace
local emitter = Instance.new("AudioEmitter")
emitter.Parent = emitterPart
local listener = Instance.new("AudioListener")
listener.Parent = workspace.CurrentCamera
local output = Instance.new("AudioDeviceOutput")
output.Parent = workspace
wireUp(assetPlayer, equalizer)
wireUp(equalizer, emitter)
wireUp(listener, output)
assetPlayer.Looping = true
assetPlayer:Play()
while true do
local emitterFrame = getCFrameFrom(emitter)
local listenerFrame = getCFrameFrom(listener)
if emitterFrame and listenerFrame then
local towardEmitter = emitterFrame.Position - listenerFrame.Position
local look = towardEmitter.Unit:Dot(listenerFrame.LookVector) -- ranges from [-1, 1]
look = rescale(look, NumberRange.new(-1, 1), NumberRange.new(-20, 0))
local distance = math.max(towardEmitter.Magnitude, 1)
local rolloff = 1 / distance -- ranges from [0, 1]
rolloff = rescale(rolloff, NumberRange.new(0, 1), NumberRange.new(-10, 10))
equalizer.HighGain = look + rolloff
equalizer.LowGain = rolloff
end
task.wait()
end
Resumo
Propriedades
Se os fluxos de áudio são transmitidos sem serem afetados por esse efeito.
Ganhe valor a ser aplicado ao conteúdo de frequência da banda mais alta no equalizador.
Ganhe valor a ser aplicado ao conteúdo de frequência da banda mais baixa no equalizador.
Ganhe valor a ser aplicado ao conteúdo de frequência da banda média no equalizador.
A faixa de frequência da banda influenciada por MidGain .
Métodos
Retorna um array de Wires que estão conectados ao marcarespecificado.
Eventos
Incêndios quando outra instância está conectada ou desconectada do AudioEqualizer através de um Wire .
Propriedades
Editor
HighGain
Ganhe valor, em decibéis, para ser aplicado ao conteúdo de frequência da banda mais alta no equalizador. Varia de -80 a 10.
LowGain
Ganhe valor, em decibéis, para ser aplicado ao conteúdo de frequência da banda mais baixa no equalizador. Varia de -80 a 10.
MidGain
Ganhe valor, em decibéis, para ser aplicado ao conteúdo de frequência da banda média no equalizador. Varia de -80 a 10.
MidRange
A faixa de frequência em hertz da banda influenciada por MidGain .O valor mais baixo do alcance determina a frequência de sobreposição entre as bandas baixas e médias.O valor mais alto do alcance determina a frequência de sobreposição entre as bandas média e alta.Ambas as frequências de sobreposição variam de 200 a 20.000.
Métodos
Eventos
WiringChanged
Evento que dispara depois que um Wire se conecta ou se desconecta, e que Wire está agora conectado ou foi previamente conectado a um pino no AudioEqualizer e a alguma outra instância viável.
Parâmetros
Se a instância se conectou ou desconectou.
O pino no AudioEqualizer que os alvos Wire alvo.
O Wire entre a AudioEqualizer e a outra instância.