AudioFilter

顯示已棄用項目

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

AudioFilter 調整音頻流的頻率內容。它提供一個 輸入 彈簧和一個 輸出 彈簧,可以由 WiresAudioFilter 使用其 FilterType , Gain , 及 Q 屬性來決定在特定切割 Frequency 周圍要做什麼。

範例程式碼

音頻過濾器可用於變更音頻流的頻率內容。在這個例子中,使用音頻過濾器使音頻輸出器輸出較為沉默,當有一堵牆在它和音頻收聽器之間時。

發射器過濾

-- 這假設工作區包含一個含有音效輸出器和音樂播放器的零件,以及攝影機具有音效收聽器
local RunService = game:GetService("RunService")
local part: BasePart = workspace.Part
local camera: Camera = workspace.CurrentCamera
local audioPlayer: AudioPlayer = part.AudioPlayer
local audioEmitter: AudioEmitter = part.AudioEmitter
local audioListener: AudioListener = camera.AudioListener
local raycastParams = RaycastParams.new()
raycastParams.FilterDescendantsInstances = { audioEmitter.Parent }
raycastParams.FilterType = Enum.RaycastFilterType.Exclude
-- 創建新的音頻過濾器
local filter: AudioFilter = Instance.new("AudioFilter")
filter.FilterType = Enum.AudioFilterType.Lowpass12dB
filter.Frequency = 22000
filter.Q = math.sqrt(2) / 2 -- 這個 Q 值會產生 12dB 坡度類型的平坦低通過濾器
filter.Parent = part
-- 將音頻過濾器放在播放器和發射器之間
local function wireTo(source: Instance, target: Instance): Wire
local wire = Instance.new("Wire")
wire.SourceInstance = source
wire.TargetInstance = target
wire.Parent = target
end
wireTo(audioPlayer, filter)
wireTo(filter, audioEmitter)
-- 根據發射者和接收者的位置更新過濾器
RunService.Heartbeat:Connect(function()
local emitterPos: Vector3 = part.Position
local listenerPos: Vector3 = camera.CFrame.Position
local raycastResult = workspace:Raycast(emitterPos, (listenerPos - emitterPos), raycastParams)
filter.Frequency = if raycastResult then 500 else 22000
end)

概要

屬性

  • 平行讀取

    是否有音頻流被此效果忽略。

  • 未複製
    Roblox 指令碼安全性
    平行讀取
  • 過濾篩選器所代表的帶的曲線類型。

  • 平行讀取

    過濾器周圍運作的中心頻率。

  • 平行讀取

    對於尖峰和置物過濾器,控制音量增加或減少。

  • 平行讀取

    對於峰值、低通、高通、帶通和不同步過濾器,控制選擇性或諧振。

方法

活動

屬性

Bypass

平行讀取

如果 true,音頻流將無受此效果影響地通過。

Editor

未複製
Roblox 指令碼安全性
平行讀取
平行讀取

將用於過濾音頻信號的頻率反應曲線的類型。每種曲線以不同方式影響音頻的頻率內容。

Frequency

平行讀取

代表過濾篩選器的曲線的中心頻率以赫茲表示。一般來說,調整此值向上或向下對應於整體頻率曲線的水平移動。範圍為 20 到 22000。

Gain

平行讀取

用於決定過濾篩選器所代表的曲線音量等級的十分贝增益值。只適用於當 FilterTypePeakLowShelfHighShelf 時。範圍為 -30 到 30。

平行讀取

用於判斷過濾篩選器所代表的曲線傾斜或諧振值的質量值。只適用於當 FilterTypePeakLowpass[x]dBHighpass[x]dBBandpassNotch 時。範圍為 0.1 到 10。

對於 FilterType 值的 Lowpass12dBHighpass12dBQ 值的 sqrt(2) / 20.707 對應於 12dB/每十音頻坡度的平面過濾器。

方法

GetConnectedWires

Instances

返回連接到指定頂置頂的 Wires 個數組。 AudioFilter 有一個「輸入」頂針和一個「輸出」頂置頂。

參數

pin: string
預設值:""

返回

Instances

GetGainAt

返回過濾器在給定頻率的頻率反應曲線所代表的增益值,以十分贝計算,在赫茲。這可以用來檢查過濾器在關鍵位置或整體的準確形狀。

參數

frequency: number

在赫茲的頻率來樣本化。

預設值:""

返回

在指定頻率下的增益值,以分贝計算。

GetInputPins


返回

GetOutputPins


返回

活動

WiringChanged

Wire 連接或解除連接後發生的事件,該 Wire 現在或之前已連接到 AudioFilter 上的某個彈片或其他可連接的個體、實例。

參數

connected: boolean

是否連接或解除連接實例。

pin: string

AudioFilter 上的彈簧,用於 Wire 目標。

wire: Wire

之間的 WireAudioFilter 和其他實個體、實例之間。

instance: Instance

通過 Wire 連接的另一個實例,或是已連接的實例。