AudioEqualizer
*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.
Class.AudioEqualizer dostosuje częstotliwość zawartości dźwiękowej. Dostarcza jeden wejścia pin i jeden wyjścia pin, które można połączyć/złączyć przez 0> Class.Wire|Wires0>. AudioEqualizer3> ma 3 pas
Przykłady kodu
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
Podsumowanie
Właściwości
Czy strreamy audio są przepustkami niezależnymi od tego efektu.
Zdobądź wartość do zastosowania na częstotliwości w najwyższym wyrzutniu w equalizatorze.
Zdobądź wartość do zastosowania na częstotliwości w najniższym bandzie w equalizatorze.
Zdobądź wartość, która zostanie zastosowana do częstotliwości w środkowej części ekwalizatora.
Zakres częstotliwości zespołu wpływającego na MidGain .
Metody
Zwraca Wires, które są połączone z określonym przypinać.
Właściwości
Editor
HighGain
Zdobądź wartość, w decybelach, aby zastosować do zawartości częstotliwości najwyższego pasma w equalizatorze. Zakres od -80 do 10.
LowGain
Zdobądź wartość, w decybelach, aby zastosować do zawartości częstotliwości najniższego pasma w równiarku. Zakresy od -80 do 10.
MidGain
Zdobądź wartość, w decybelach, aby zastosować do zawartości częstotliwości w środkowej części ekwwalentora. Zakres od -80 do 10.
MidRange
Zakres częstotliwości w hercach pasma wpływany przez MidGain . Niska wartość zakresu określa częstotliwość przejściową między niższymi i średnimi pasmami. Wyższa wartość zakresu określa częstotliwość przejściową między niższymi i wysokimi pasmami. Obie zakresy częstot
Metody
GetConnectedWires
Zwraca Wires, które są połączone z określonym przypinać. AudioEqualizer ma jeden „wejścia” gniazdo i jeden „wyjścia” przypinać.