AudioChannelMixer
*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.
AudioChannelMixer misturas múltiplos fluxos de áudio em um único fluxo multicanal.Ele fornece um pino combinado de entrada , um pino de saída , bem como os seguintes pinos de entrada secundária, todos os quais podem ser conectados a/de Wires : Esquerda , Direita , Centro , SurroundLeft , SurroundRight , Sub , BackLeft , BackRight , TopLeft , TopRight , TopBackLeft e TopBackRight .

Amostras 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
Resumo
Propriedades
Controla o layout do canal de saída para ser misturado.
Métodos
Retorna um array de Wires que estão conectados ao pino especificado.
Retorna os pinos de entrada que podem ser selecionados por Wire.TargetName .
Retorna o pino de saída disponível para Wire.SourceName .
Eventos
Incêndios quando outra instância está conectada ou desconectada do AudioChannelMixer através de um Wire .
Propriedades
Layout
Controla o layout do canal de saída para ser misturado.O pino de Entrada de AudioChannelMixer é sempre encaminhado "como está" para Saída , mas dependendo do valor de Layout:
- Para Mono, o pino Centro consome streams de áudio.
- Surround_7_1 é o mesmo que Surround_5_1 , mais SurroundLeft e SurroundRight consomem streams de áudio.
- Para Surround_7_1_4 , todos os pinos de entrada secundária consomem streams de áudio.
Métodos
GetConnectedWires
Retorna um array de Wires que estão conectados ao pino especificado.
Parâmetros
Devolução
GetInputPins
Retorna uma tabela de strings que indica quais pinos de entrada estão disponíveis para Wire.TargetName :
- "Input"
- "Left"
- "Right"
- "Center"
- "SurroundLeft"
- "SurroundRight"
- "BackLeft"
- "BackRight"
- "Sub"
- "TopLeft"
- "TopRight"
- "TopBackLeft"
- "TopBackRight"
Devolução
GetOutputPins
Retorna uma tabela que contém uma string, "Output" , indicando o pino de saída disponível para Wire.SourceName .
Devolução
Eventos
WiringChanged
Evento que dispara depois que um Wire se conecta ou se desconecta, e que Wire está agora conectado ou foi previamente conectado a um pino no AudioChannelMixer e a alguma outra instância viável.
Parâmetros
Se a instância se conectou ou desconectou.
O pino no AudioChannelMixer que os alvos Wire alvo.
O Wire entre a AudioChannelMixer e a outra instância.