AudioChannelMixer

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.

AudioChannelMixer birden fazla ses akışını tek bir, çok kanallı tüketkarıştırır.Birleşik bir Giriş sabitle, bir Çıkış sabitleve aşağıdaki ikinci giriş pini dahil olmak üzere tümü, hepsi Wires : Soldan , Sağdan , Orta , Etrafında Sola , Etrafında Sağa , Alt , Sola Geri , Sağa Geri , Üstten , Üstten , Üstten Sağa ve Üstten Sağa .

Diagram showing position of all potential channels.

Kod Örnekleri

Splitting & Mixing Channels

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

Özet

Yöntemler

Etkinlikler

Özellikler

Paralel oku

Karıştırılacak çıkış kanalı düzenini kontrol eder. Giriş pin'i AudioChannelMixer daima "olduğu gibi" Çıkış 'a yönlendirilir, ancak Layout 'un değerine bağlı olarak:

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

Yöntemler

GetConnectedWires

Instances

Belirtilen sabitlebağ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

Hangi giriş pimlerinin mevcut olduğunu gösteren bir tablo içeren bir dize döndürür Wire.TargetName :

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

Dönüşler

GetOutputPins

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


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 AudioChannelMixer üzerindeki düğme. The pin on the that the Wire targets.

wire: Wire

Wire arasındaki AudioChannelMixer ve diğer durumarasındaki.

instance: Instance

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