AudioChannelSplitter
*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.
AudioChannelSplitter dzieli strumień audio na kanały komponentów, tak że każdy może być przetwarzany niezależnie.Zapewnia jeden wejściowy przypinać, jeden połączony wyjściowy przypinać, a także następujące dodatkowe przypinki wyjściowe, które wszystkie mogą być podłączone do/od : : Lewo , Prawo , Środek , OtoczenieLeft , OtoczenieRight , Sub , TyłLewo , TyłPrawo , TyłZ prawej strony , oraz TyłZ lewej strony .

Przykłady kodu
local Workspace = game:GetService("Workspace")
local function wireUp(source : Instance, target : Instance, sourceName : string?, targetName : string?)
local wire = Instance.new("Wire", source)
wire.SourceInstance = source
wire.TargetInstance = target
if sourceName then wire.SourceName = sourceName end
if targetName then wire.TargetName = targetName end
return wire
end
local listener = Instance.new("AudioListener")
listener.Parent = Workspace.CurrentCamera
local output = Instance.new("AudioDeviceOutput")
output.Parent = Workspace
local splitter = Instance.new("AudioChannelSplitter")
splitter.Parent = Workspace
local mixer = Instance.new("AudioChannelMixer")
mixer.Parent = Workspace
-- Send what the listener hears to a splitter and send a mix to the final output
wireUp(listener, splitter)
wireUp(mixer, output)
-- Set up both the splitter and mixer to use a quadrophonic layout
splitter.Layout = Enum.AudioChannelLayout.Quad
mixer.Layout = Enum.AudioChannelLayout.Quad
-- Give each of the four channels its own pitch shifter
local frontLeft = Instance.new("AudioPitchShifter")
frontLeft.Name = "Front Left"
frontLeft.Pitch = 1.25
frontLeft.Parent = Workspace
local backLeft = Instance.new("AudioPitchShifter")
backLeft.Name = "Back Left"
backLeft.Pitch = 0.5
backLeft.Parent = Workspace
local frontRight = Instance.new("AudioPitchShifter")
frontRight.Name = "Front Right"
frontRight.Pitch = 1.5
frontRight.Parent = Workspace
local backRight = Instance.new("AudioPitchShifter")
backRight.Name = "Back Right"
backRight.Pitch = 0.75
backRight.Parent = Workspace
wireUp(splitter, frontLeft, "Left")
wireUp(splitter, backLeft, "BackLeft")
wireUp(splitter, frontRight, "Right")
wireUp(splitter, backRight, "BackRight")
wireUp(frontLeft, mixer, nil, "Left")
wireUp(backLeft, mixer, nil, "BackLeft")
wireUp(frontRight, mixer, nil, "Right")
wireUp(backRight, mixer, nil, "BackRight")
-- Configure a part to emit audio
local part = Instance.new("Part")
part.Shape = Enum.PartType.Ball
part.Size = Vector3.new(4, 4, 4)
part.Material = Enum.Material.SmoothPlastic
part.CastShadow = false
part.Position = Vector3.new(0, 4, -12)
part.Anchored = true
part.Parent = Workspace
local analyzer = Instance.new("AudioAnalyzer")
analyzer.Parent = part
local emitter = Instance.new("AudioEmitter")
emitter.Parent = part
local assetPlayer = Instance.new("AudioPlayer")
assetPlayer.Looping = true
assetPlayer.Asset = "rbxassetid://97799489309320"
assetPlayer.Parent = emitter
wireUp(assetPlayer, emitter)
wireUp(assetPlayer, analyzer)
-- Start playing the audio
assetPlayer:Play()
-- Adjust the part's color as the audio plays
while true do
local peak = math.sqrt(analyzer.PeakLevel)
part.Color = Color3.new(peak, peak, peak)
task.wait()
end
Podsumowanie
Właściwości
Kontroluje układ kanału wejściowego, który ma być podzielony.
Metody
Zwraca tablicę Wires, która jest połączona z określonym przypinać.
Zwraca dostępną dla Wire.TargetName piny wejściowe.
Zwraca szpilki wyjściowe, które mogą być wybrane przez Wire.SourceName .
Zdarzenia
Wystrzeliwuje, gdy inna instancja jest połączona z lub odłączona od AudioChannelSplitter za pomocą Wire .
Właściwości
Layout
Kontroluje układ kanału wejściowego, który ma być podzielony.Po zmianie wszystkie strumienie audio przed rozdzielaczem kanału mogą wymagać miksowania w górę (powiększonych do co najmniej tak wielu kanałów, jak wymaga to wejście).
Przypinka Wyjście wytwarza kopię strumienia podłączonego do Wejście , ale w zależności od wartości AudioChannelSplitter.Layout:
- Dla Mono , przypinka Centrum wytwarza streamowaćaudio.
- Surround_7_1 jest taki sam jak Surround_5_1 , plus SurroundLeft i SurroundRight produkują strumienie audio.
- Dla Surround_7_1_4 wszystkie dodatkowe piny wyjściowe wytwarzają strumienie audio.
Metody
GetConnectedWires
Zwraca tablicę Wires, która jest połączona z określonym przypinać.
Parametry
Zwroty
GetInputPins
Zwraca tabelę zawierającą jedną ciąg, "Input", wskazującą na dostępną przepustkę wejściową dla Wire.TargetName.
Zwroty
GetOutputPins
Zwraca tabelę strun wskazującą, które szpilki wyjściowe są dostępne dla Wire.SourceName :
- "Output"
- "Left"
- "Right"
- "Center"
- "SurroundLeft"
- "SurroundRight"
- "BackLeft"
- "BackRight"
- "Sub"
- "TopLeft"
- "TopRight"
- "TopBackLeft"
- "TopBackRight"
Zwroty
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 AudioChannelSplitter i z niektórymi innymi dostępnymi instancjami.
Parametry
Czy instancja została połączona czy odłączona.
Przypinka na AudioChannelSplitter , która jest przeznaczona dla celów Wire.
The Wire pomiędzy AudioChannelSplitter i inną instancja.