AudioFilter
*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.
AudioFilter dostosowuje częstotliwość zawartości audio strumieni.Zapewnia jeden Wejściowy przewód i jeden Wyjściowy przewód, które mogą być podłączone do/od Wires .AudioFilter używa swoich właściwości FilterType , Gain i Q , aby określić, co zrobić wokół określonego cięcia Frequency .
Przykłady kodu
An AudioFilter can be used to change the frequency content of audio streams. In this example, an AudioFilter is used to make the AudioEmitter output more muffled when there's a wall between it and the AudioListener.
-- This assumes the workspace contains a Part with an AudioEmitter and an AudioPlayer, and the camera has an 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
-- Create a new AudioFilter
local filter: AudioFilter = Instance.new("AudioFilter")
filter.FilterType = Enum.AudioFilterType.Lowpass12dB
filter.Frequency = 22000
filter.Q = math.sqrt(2) / 2 -- This Q value produces a flat lowpass for the 12dB slope type
filter.Parent = part
-- Put the AudioFilter between the player and the emitter
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)
-- Update the filter based on the positions of the emitter and listener
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)
Podsumowanie
Właściwości
Czy strumienie audio są przekazywane bez wpływu na ten efekt.
Typ krzywej reprezentowanej przez filtr przez pasma.
Częstotliwość centralna, wokół której działa filtr.
Dla filtrów szczytowych i półkowych kontroluje wzrost lub zmniejszenie głośności.
Dla szczytów, filtrów niskoprzepustowych, wysokoprzepustowych, pasowych i notchowych kontroluje selektywność lub rezonans.
Metody
Zwraca tablicę Wires, która jest połączona z określonym przypinać.
Zwraca moc odpowiedzi filtra przy podanej częstotliwości.
Zdarzenia
Wystrzeliwuje, gdy inna instancja jest połączona z lub odłączona od AudioFilter za pomocą Wire .
Właściwości
Editor
FilterType
Typ krzywej odpowiedzi częstotliwości, która zostanie użyta do filtrowania sygnału audio.Każdy rodzaj zakrzywienia wpływa na zawartość częstotliwości audio w różny sposób.
Frequency
Częstotliwość centralna w hercach krzywej reprezentowanej przez filtr.Ogólnie rzecz biorąc, dostosowanie tej wartości w górę lub w dół odpowiada poziomemu przesunięciu w ogólnej krzywej częstotliwości.Zakres od 20 do 22000.
Gain
Wartość zysku w decybelach używana do określenia poziomu głośności krzywej reprezentowanej przez filtr.Dotyczy tylko wtedy, gdy FilterType jest Peak, LowShelf lub HighShelf.Zakres od -30 do 30.
Wartość jakości używana do określenia nachylenia lub rezonansu krzywej reprezentowanej przez filtr.Dotyczy tylko wtedy, gdy FilterType jest Peak, Lowpass[x]dB, Highpass[x]dB, Bandpass lub Notch.Zakres od 0,1 do 10.
Dla FilterType wartości Lowpass12dB i Highpass12dB , wartość Q dla sqrt(2) / 2 lub 0.707 odpowiada płaskiemu filtrowi o nachyleniu 12dB/octave.
Metody
GetConnectedWires
Zwraca tablicę Wires, która jest połączona z określonym przypinać. AudioFilter ma jedną przypinkę "Wejście" i jedną przypinać"Wyjście".
Parametry
Zwroty
GetGainAt
Zwraca wartość zysku, w decybelach, krzywej odpowiedzi częstotliwości reprezentowanej przez filtr na danym częstotliwości, w hercach.Można go użyć do przetestowania dokładnego kształtu filtra w kluczowych miejscach lub jako całości.
Parametry
Częstotliwość, w hercach, do próbowania.
Zwroty
Wartość zysku, w decybelach, przy danej częstotliwości.
Zdarzenia
WiringChanged
Wydarzenie, które wystrzeliwuje po tym, jak Wire łączy się lub odłącza się, a które Wire jest teraz połączone lub było wcześniej połączone z przypinką na AudioFilter i z niektórymi innymi dostępnymi instancjami.
Parametry
Czy instancja została połączona czy odłączona.
Przypinka na AudioFilter , która jest przeznaczona dla celów Wire.
The Wire pomiędzy AudioFilter i inną instancja.