AudioChannelSplitter
*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.
AudioChannelSplitter divide uno stream audio in canali componenti in modo che ognuno possa essere elaborato in modo indipendente.Fornisce un Input pin, un pin combinato Output, nonché i seguenti pin di uscita secondaria, tutti i quali possono essere connessi a/da : Sinistra, Destra, Centro, Sub, Posteriore sinistra, Posteriore destra, Su, Su, Sinistra superiore, Destra superiore, TopLeft, TopRight, TopBackLeft, e TopBackRight.

Campioni di codice
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
Sommario
Proprietà
Controlla il layout del canale di input da dividere.
Metodi
Restituisce un array di Wires che sono connessi al pin specificato.
Restituisce il pin di input disponibile per Wire.TargetName .
Restituisce i pin di uscita che possono essere selezionati da Wire.SourceName .
Eventi
Si accende quando un'altra istanza è connessa o disconnessa dal AudioChannelSplitter attraverso un Wire .
Proprietà
Layout
Controlla il layout del canale di input da dividere.Quando viene cambiato, tutti gli stream audio prima dell'ingresso di questo divisore di canale potrebbero dover essere up-mixati (allargati a almeno tanti canali quanto l'input richiede).
Il pin Output produce una copia dello stream collegato a Input ma, a seconda del valore di AudioChannelSplitter.Layout
- Per Mono , il pin Centro produce uno stream audio.
- Per Surround_7_1_4 , tutti i pin di output secondari producono stream audio.
Metodi
GetConnectedWires
Restituisce un array di Wires che sono connessi al pin specificato.
Parametri
Restituzioni
GetInputPins
Restituisce una tabella che contiene una stringa, "Input" , che indica il pin di input disponibile per Wire.TargetName .
Restituzioni
GetOutputPins
Restituisce una tabella di stringhe che indica quali pin di output sono disponibili per Wire.SourceName :
- "Output"
- "Left"
- "Right"
- "Center"
- "SurroundLeft"
- "SurroundRight"
- "BackLeft"
- "BackRight"
- "Sub"
- "TopLeft"
- "TopRight"
- "TopBackLeft"
- "TopBackRight"
Restituzioni
Eventi
WiringChanged
Evento che si attiva dopo che un Wire diventa connesso o disconnesso, e che Wire è ora o era precedentemente connesso a un pin sulla AudioChannelSplitter e a qualche altra istanza wirable.
Parametri
Se l'istanza è stata connessa o disconnessa.
Il pin sul AudioChannelSplitter che i bersagli Wire .
Il Wire tra la AudioChannelSplitter e l'altra istanza.