AudioChannelSplitter

Artık kullanılmayanları göster

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

AudioChannelSplitter bir ses akışını bileşen kanallara bölerek her biri bağımsız olarak işlenebilir hale getirir.Bir Giriş pini, birleşik bir Çıkış pini ve aşağıdaki sekizincil çıkış pini sağlar, hepsi de tarafından bağlanabilir/bağlanabilir : Sola , Sağa , Orta , Etrafında Sola , Etrafında Sağa , Altında Solda , Arka Sola , Arka Sağa , Üst Sola ve Üst Sağa .

Diagram showing position of all potential channels.

Kod Örnekleri

Kanal Bölme ve Karıştırma

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
-- Dinleyicinin duyduğunu bir bölücüye gönder ve son çıkıya bir karışım gönder
wireUp(listener, splitter)
wireUp(mixer, output)
-- Bölücü ve karıştırıcıyı her ikisi de bir quadrofonik düzen kullanmak için ayarlayın
splitter.Layout = Enum.AudioChannelLayout.Quad
mixer.Layout = Enum.AudioChannelLayout.Quad
-- Dört kanalın her birine kendi ton değiştiricisini verin
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")
-- Bir parçanın ses çıkarmasını yapılandır
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)
-- Ses çalmaya başla
assetPlayer:Play()
-- Parçanın rengini ses çalarken ayarla
while true do
local peak = math.sqrt(analyzer.PeakLevel)
part.Color = Color3.new(peak, peak, peak)
task.wait()
end

Özet

Yöntemler

Etkinlikler

Özellikler

Paralel oku

Ayrılacak giriş kanalı düzenini kontrol eder.Değiştirildiğinde, bu kanal bölücüsünün girişinden önceki tüm ses akışlarının karıştırılması gerekebilir (girişin gerektirdiği kadar çok kanala genişletilmiş olarak).

Çıkış pini, Giriş ile bağlantılı akışın bir kopyasını üretir, ancak AudioChannelSplitter.Layout değerine bağlı olarak:

  • For Mono için, Merkez düğmesi bir ses akışı üretir.
  • For Stereo , Sol ve Sağ düğmeleri ses akışları üretir.
  • For Quad , the Sol , Sağ , GeriSol ve GeriSağ düğmeleri ses akışları üretir.
  • Surround_5 aynıdır Quad , artı Merkez bir ses akışı üretir.
  • Surround_5_1 aynıdır Surround_5 , artı Alt bir ses akışı üretir.
  • Surround_7_1 , Surround_5_1 ile aynıdır, artı SurroundLeft ve SurroundRight ses akışları üretir.
  • For Surround_7_1_4 , tüm ikincil çıkış pimleri ses akışları üretir.

Yöntemler

GetConnectedWires

Instances

Belirtilen pine bağlı bir dizi Wires döndürür, ki bu pine bağlıdır.

Parametreler

pin: string
Varsayılan değer: ""

Dönüşler

Instances

GetInputPins

Bir dize içeren bir tablo döndürür, "Input" , çıkış pini Wire.TargetName için mevcut olduğunu gösterir.


Dönüşler

GetOutputPins

Hangi çıkış pimlerinin mevcut olduğunu gösteren bir dizi içeren bir tablo döndürür Wire.SourceName :

  • "Output"
  • "Left"
  • "Right"
  • "Center"
  • "SurroundLeft"
  • "SurroundRight"
  • "BackLeft"
  • "BackRight"
  • "Sub"
  • "TopLeft"
  • "TopRight"
  • "TopBackLeft"
  • "TopBackRight"

Dönüşler

Etkinlikler

WiringChanged

Bir bağlantı kurulduktan veya bağlantı kesildikten sonra ateşlenen olay, şimdi şu veya daha önce başka bir sabit parçaya ve bazı diğer kullanılabilir durumlara bağlandı veya bağlantı kesildi.

Parametreler

connected: boolean

Instans bağlandı veya bağlantı kesildi.

pin: string

Hedeflerin AudioChannelSplitter üzerindeki düğme. The pin on the that the Wire targets.

wire: Wire

Wire arasındaki AudioChannelSplitter ve diğer örnek arasındaki.

instance: Instance

Wire aracılığıyla bağlantı kurulan diğer örnek.