AudioChannelSplitter
*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.
AudioChannelSplitter divide un flujo de audio en canales componentes para que cada uno pueda procesarse de forma independiente.Proporciona un anclarde entrada , un anclarcombinado de salida , así como los siguientes pines de salida secundaria, todos los cuales se pueden conectar a/desde por : Izquierda , Derecha , Centro , Alrededor de la izquierda , Alrededor de la derecha , Sub , Izquierda trasera , Trasera derecha , Superior izquierda , Superior derecha , Superior izquierda trasera , y Superior derecha trasera .

Muestras de código
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
Resumen
Propiedades
Controla el diseño del canal de entrada para dividirse.
Métodos
Devuelve un array de Wires que están conectados al anclarespecificado.
Devuelve el puerto de entrada disponible para Wire.TargetName .
Devuelve los pines de salida que pueden ser seleccionados por Wire.SourceName .
Eventos
Se incendia cuando otra instancia se conecta o se desconecta del AudioChannelSplitter a través de un Wire .
Propiedades
Layout
Controla el diseño del canal de entrada para dividirse.Cuando se cambia, todos los flujos de audio antes de la entrada de este divisor de canales pueden necesitar ser mezclados (ampliados a al menos tantos canales como la entrada requiera).
El puerto de salida produce una copia del flujo conectado a Entrada pero, dependiendo del valor de ):
- Para Mono , el puerto Centro produce un flujo de audio.
- Para Surround_7_1_4 , todos los pines de salida secundaria producen flujos de audio.
Métodos
GetConnectedWires
Devuelve un array de Wires que están conectados al anclarespecificado.
Parámetros
Devuelve
GetInputPins
Devuelve una tabla que contiene una cadena, "Input" , que indica el puerto de entrada disponible para Wire.TargetName .
Devuelve
GetOutputPins
Devuelve una tabla de cadenas que indican qué pines de salida están disponibles para Wire.SourceName :
- "Output"
- "Left"
- "Right"
- "Center"
- "SurroundLeft"
- "SurroundRight"
- "BackLeft"
- "BackRight"
- "Sub"
- "TopLeft"
- "TopRight"
- "TopBackLeft"
- "TopBackRight"
Devuelve
Eventos
WiringChanged
Evento que se activa después de que un Wire se conecte o se desconecte, y que Wire ahora está conectado o fue previamente conectado a un puerto en el AudioChannelSplitter y a alguna otra instancia inalámbrica.
Parámetros
Si la instancia se conectó o se desconectó.
El puerto en el AudioChannelSplitter que los objetivos Wire apuntan.
El Wire entre la AudioChannelSplitter y la otra instancia.