AudioEqualizer
*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.
Class.AudioEqualizer Anpasst die Frequenzinhalte von Audio-Streams. Es bietet eine Eingabe-Pin und eine Ausgabe-Pin , die mit 0> Class.Wire|Wires0> verbunden werden kann. AudioEqualizer3> hat 3 Frequenzbänder, deren Gewinnwer
Code-Beispiele
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
Zusammenfassung
Eigenschaften
Ob Audio-Streams unbeeinflusst durch diesen Effekt weitergeleitet werden.
Erhalte Werte, die auf den Frequenzinhalt der höchsten Band im Equalizer angewendet werden.
Erhalte Werte, die auf den Frequenzinhalt der niedrigsten Band im Equalizer angewendet werden sollen.
Erhalte Werte, die auf den Frequenzinhalt der mittleren Band in der Equalizer angewendet werden sollen.
Die Frequenzbereich der Band, die von MidGain beeinflusst ist.
Methoden
Gibt eine Matrix von Wires zurück, die mit dem angegebenen anheftenverbunden sind.
Eigenschaften
Editor
HighGain
Erhalte Werte in Decibel, die auf den Frequenzinhalt der höchsten Band im Equalizer angewendet werden. Ränge von -80 bis 10.
LowGain
Erhalte Werte in Decibel, die auf den Frequenzinhalt der niedrigsten Band im Equalizer angewendet werden. Ränge von -80 bis 10.
MidGain
Erhalte Werte in Decibel, die auf den Frequenzinhalt der Mitte im Equalizer angewendet werden. Ränge von -80 bis 10.
MidRange
Die Frequenz ihres Bands, die von MidGain beeinflusst. Der niedrigere Wert der Frequenz bestimmt die Krossover-Frequenz zwischen den niedrigen und mittleren Bändern. Der höhere Wert der Frequenz bestimmt die Krossover-Frequenz zwischen den niedrigen und hohen Bändern. Beide Frequenzfrequenzen liegen zwischen 200 und 20.00
Methoden
GetConnectedWires
Gibt eine Matrix von Wires zurück, die mit dem angegebenen anheftenverbunden ist. AudioEqualizer hat eine "Eingang"-Pin und einen "Ausgang"anheften.