AudioChannelMixer
*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.
AudioChannelMixer mischt mehrere Audio-Streams in einen einzigen, mehrkanaligen Stream.Es bietet eine kombinierte Eingabe -Pin, eine Ausgabe -Pin, sowie die folgenden sekundären Eingangs-Pins, die alle von Wires : Links , Rechts , Zentrum , Umgebung links , Umgebung rechts , Sub , Rückseite links , Rückseite rechts , Oberseite links , Oberseite rechts , Oberseite links hinten und Oberseite rechts hinten .

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 Ausgabekanallayout, das gemischt werden soll.
Methoden
Gibt eine Reihe von Wires, die mit dem angegebenen Pin verbunden sind, zurück.
Gibt die Eingabe-Pins zurück, die von Wire.TargetName ausgewählt werden können.
Gibt die Ausgabe-Pin zurück, die für Wire.SourceName verfügbar ist.
Ereignisse
Feuert, wenn eine andere Instanz über einen AudioChannelMixer mit der Wire verbunden oder getrennt wird.
Eigenschaften
Layout
Steuert das Ausgabekanallayout, das gemischt werden soll.Die Eingangs -Pin von AudioChannelMixer wird immer "so wie sie ist" an Ausgabe weitergeleitet, aber abhängig vom Wert von Layout:
- Für Mono , konsumiert der Zentrum -Pin Audiodaten.
- Surround_7_1 ist das gleiche wie Surround_5_1 , plus SurroundLeft und SurroundRight verbrauchen Audio-Streams.
- Für Surround_7_1_4 verbrauchen alle sekundären Eingangspins Audiodaten.
Methoden
GetConnectedWires
Gibt eine Reihe von Wires, die mit dem angegebenen Pin verbunden sind, zurück.
Parameter
Rückgaben
GetInputPins
Gibt eine Tabelle von Zeichen zurück, die anzeigt, welche Eingabepins für Wire.TargetName verfügbar sind:
- "Input"
- "Left"
- "Right"
- "Center"
- "SurroundLeft"
- "SurroundRight"
- "BackLeft"
- "BackRight"
- "Sub"
- "TopLeft"
- "TopRight"
- "TopBackLeft"
- "TopBackRight"
Rückgaben
GetOutputPins
Gibt eine Tabelle zurück, die eine Zeiche enthält, "Output" , die die verfügbare Ausgabe-Pin für Wire.SourceName anzeigt.
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 AudioChannelMixer und mit einigen anderen verwendbaren Instanzen verbunden war.
Parameter
Ob die Instanz verbunden oder getrennt wurde.
Die Pins auf der AudioChannelMixer, die die Wire Ziele sind.
Die Wire zwischen der AudioChannelMixer und der anderen Instanz.