AudioChannelMixer
*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.
AudioChannelMixer miksuje wiele strumieni audio w jeden, wielokanałowy strumień.Zapewnia jeden połączony wejściowy przewód, jeden wyjściowy przewód, a także następujące dodatkowe przewody wejściowe, które wszystkie mogą być podłączone do/od Wires : Lewo , Prawo , Środek , Wokół lewej strony , Wokół prawej strony , Sub , Tył lewo , Tył prawo , Tył lewo , Tył prawo , Tył lewo oraz Tył prawo .

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 wyjściowego, który ma być mieszany.
Metody
Zwraca tablicę Wires, która jest połączona z określonym przypinką.
Zwraca szpilki wejściowe, które mogą być wybrane przez Wire.TargetName .
Zwraca przepustkę wyjściową dostępną dla Wire.SourceName .
Zdarzenia
Wystrzeliwuje, gdy inna instancja jest połączona z lub odłączona od AudioChannelMixer za pomocą Wire .
Właściwości
Layout
Kontroluje układ kanału wyjściowego, który ma być mieszany.Przypinek Wejście z AudioChannelMixer zawsze jest przekazywany "jak jest" do Wyjście , ale w zależności od wartości Layout:
- Dla Mono , przypinka Centrum zużywa strumienie audio.
- Surround_7_1 jest taki sam jak Surround_5_1 plus SurroundLeft i SurroundRight zużywają strumienie audio.
- Dla Surround_7_1_4 wszystkie dodatkowe piny wejściowe zużywają strumienie audio.
Metody
GetConnectedWires
Zwraca tablicę Wires, która jest połączona z określonym przypinką.
Parametry
Zwroty
GetInputPins
Zwraca tabelę strun wskazującą, które przypinki wejściowe są dostępne dla Wire.TargetName :
- "Input"
- "Left"
- "Right"
- "Center"
- "SurroundLeft"
- "SurroundRight"
- "BackLeft"
- "BackRight"
- "Sub"
- "TopLeft"
- "TopRight"
- "TopBackLeft"
- "TopBackRight"
Zwroty
GetOutputPins
Zwraca tabelę zawierającą jedną strunę, "Output" , wskazującą przypis wyjściowy dostępny dla Wire.SourceName .
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 AudioChannelMixer i z niektórymi innymi dostępnymi instancjami.
Parametry
Czy instancja została połączona czy odłączona.
Przypinka na AudioChannelMixer , która jest przeznaczona dla celów Wire.
The Wire pomiędzy AudioChannelMixer i inną instancją.