AudioChannelSplitter
*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.
AudioChannelSplitter teilt einen Audiostream in Komponentenkanäle auf, sodass jeder unabhängig verarbeitet werden kann.Es bietet eine Eingabe -Pin, eine kombinierte Ausgabe -Pin, sowie die folgenden sekundären Ausgabe-Pins, die alle von Wires : Links , Rechts , Zentrum , UmgebungLinks , UmgebungRechts , Sub , RückseiteLinks , RückseiteRechts , ObenLinks , ObenRechts , ObenLinks , und ObenRechts .

Code-Beispiele
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
Zusammenfassung
Eigenschaften
Steuert das Eingangskanallayout, das aufgeteilt werden soll.
Methoden
Gibt eine Reihe von Wires, die mit dem angegebenen Pin verbunden sind, zurück.
Gibt die Eingabe-Pin zurück, die für Wire.TargetName verfügbar ist.
Gibt die Ausgabe-Pins zurück, die von Wire.SourceName ausgewählt werden können.
Ereignisse
Feuert, wenn eine andere Instanz über einen AudioChannelSplitter mit der Wire verbunden oder getrennt wird.
Eigenschaften
Layout
Steuert das Eingangskanallayout, das aufgeteilt werden soll.Wenn sich etwas ändert, müssen alle Audiodatenströme vor der Eingabe dieses Kanalspalters möglicherweise gemischt werden (auf mindestens so viele Kanäle erweitert, wie die Eingabe erfordert).
Die Ausgabe -Pin erzeugt eine Kopie des Streams, der an Eingabe angeschlossen ist, aber abhängig vom Wert von AudioChannelSplitter.Layout
- Für Mono produziert der Zentrum -Pin einen Audiostream.
- Surround_7_1 ist das gleiche wie Surround_5_1 , plus SurroundLeft und SurroundRight produzieren Audio-Streams.
- Für Surround_7_1_4 produzieren alle sekundären Ausgabe-Pins Audiodatenströme.
Methoden
GetConnectedWires
Gibt eine Reihe von Wires, die mit dem angegebenen Pin verbunden sind, zurück.
Parameter
Rückgaben
GetInputPins
Gibt eine Tabelle zurück, die eine Zeiche enthält, "Input" , die die Eingabepin für Wire.TargetName angibt, die verfügbar ist.
Rückgaben
GetOutputPins
Gibt eine Tabelle von Zeichen zurück, die anzeigt, welche Ausgabe-Pins verfügbar sind für Wire.SourceName :
- "Output"
- "Left"
- "Right"
- "Center"
- "SurroundLeft"
- "SurroundRight"
- "BackLeft"
- "BackRight"
- "Sub"
- "TopLeft"
- "TopRight"
- "TopBackLeft"
- "TopBackRight"
Rückgaben
Ereignisse
WiringChanged
Ereignis, das nachdem abgefeuert wird, nachdem ein Wire verbunden oder getrennt wurde, und das Wire jetzt oder zuvor mit einem Pin auf der AudioChannelSplitter und mit einigen anderen verwendbaren Instanzen verbunden war.
Parameter
Ob die Instanz verbunden oder getrennt wurde.
Die Pins auf der AudioChannelSplitter, die die Wire Ziele sind.
Die Wire zwischen der AudioChannelSplitter und der anderen Instanz.