AudioChannelMixer
*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.
AudioChannelMixer mezcla múltiples flujos de audio en un solo flujo multicanal.Proporciona un anclarde entrada combinado combinado , un anclarde salida combinado , así como los siguientes pines de entrada secundaria, todos los cuales se pueden conectar a/desde por Wires : Izquierda , Derecha , Centro , Alrededor de la izquierda , Alrededor de la derecha , Sub , Izquierda trasera , Trasera derecha , TopLeft , TopRight , TopBackLeft , y TopBackRight .

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 salida para mezclar.
Métodos
Devuelve un array de Wires que están conectados al anclarespecificado.
Devuelve los pines de entrada que pueden ser seleccionados por Wire.TargetName .
Devuelve la pata de salida disponible para Wire.SourceName .
Eventos
Se incendia cuando otra instancia se conecta o se desconecta del AudioChannelMixer a través de un Wire .
Propiedades
Layout
Controla el diseño del canal de salida para mezclar.El puerto de entrada de siempre se envía "como está" al puerto de salida , pero dependiendo del valor de :
- Para Mono , el puerto Centro consume flujos de audio.
- Para Surround_7_1_4 , todos los pines de entrada secundaria consumen flujos de audio.
Métodos
GetConnectedWires
Devuelve un array de Wires que están conectados al anclarespecificado.
Parámetros
Devuelve
GetInputPins
Devuelve una tabla de cadenas que indican qué pines de entrada están disponibles para Wire.TargetName :
- "Input"
- "Left"
- "Right"
- "Center"
- "SurroundLeft"
- "SurroundRight"
- "BackLeft"
- "BackRight"
- "Sub"
- "TopLeft"
- "TopRight"
- "TopBackLeft"
- "TopBackRight"
Devuelve
GetOutputPins
Devuelve una tabla que contiene una cadena, "Output" , que indica el puerto de salida disponible para Wire.SourceName .
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 AudioChannelMixer y a alguna otra instancia inalámbrica.
Parámetros
Si la instancia se conectó o se desconectó.
El puerto en el AudioChannelMixer que los objetivos Wire apuntan.
El Wire entre la AudioChannelMixer y la otra instancia.