AudioChannelSplitter
*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.
AudioChannelSplitter divide um stream de áudio em canais de componentes para que cada um possa ser processado de forma independente.Ele fornece um pino de entrada , um pino combinado de saída , bem como os seguintes pinos de saída secundária, todos os quais podem ser conectados a/de Wires : Esquerda , Direita , Centro , Roda da Esquerda , Roda da Direita , Sub , Fundo da Esquerda , Fundo da Direita , 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 entrada a ser dividido.
Métodos
Retorna um array de Wires que estão conectados ao pino especificado.
Retorna o pino de entrada disponível para Wire.TargetName .
Retorna os pinos de saída que podem ser selecionados por Wire.SourceName .
Eventos
Incêndios quando outra instância está conectada ou desconectada do AudioChannelSplitter através de um Wire .
Propriedades
Layout
Controla o layout do canal de entrada a ser dividido.Quando alterado, todos os fluxos de áudio antes deste divisor de canais devem ser misturados (ampliados para pelo menos tantos canais quanto o input requer).
O pino Saída produz uma cópia do stream conectado ao Entrada mas, dependendo do valor de AudioChannelSplitter.Layout
- Para Mono, o pino Centro produz um fluxo de áudio.
- Surround_7_1 é o mesmo que Surround_5_1 , mais SurroundLeft e SurroundRight produzem streams de áudio.
- Para Surround_7_1_4 , todos os pinos de saída secundária produzem 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 que contém uma string, "Input" , indicando o pino de entrada disponível para Wire.TargetName .
Devolução
GetOutputPins
Retorna uma tabela de strings que indica quais pinos de saída estão disponíveis para Wire.SourceName :
- "Output"
- "Left"
- "Right"
- "Center"
- "SurroundLeft"
- "SurroundRight"
- "BackLeft"
- "BackRight"
- "Sub"
- "TopLeft"
- "TopRight"
- "TopBackLeft"
- "TopBackRight"
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 AudioChannelSplitter e a alguma outra instância viável.
Parâmetros
Se a instância se conectou ou desconectou.
O pino no AudioChannelSplitter que os alvos Wire alvo.
O Wire entre a AudioChannelSplitter e a outra instância.