AudioListener記錄從周圍的AudioEmitters在3D世界中的音頻流。它提供單個 輸出 孔,可以通過 Wires 。如果父親是 Attachment 、 Camera 或 PVInstance ,父元素親的世界 CFrame 將用於聆聽。如果父不是這些類別之一,那麼 AudioListener 有效地聽不到任何東西。
範例程式碼
local listener = Instance.new("AudioListener")
local output = Instance.new("AudioDeviceOutput")
local wire = Instance.new("Wire")
listener.Parent = workspace.Camera
wire.Parent = listener
output.Parent = wire
wire.SourceInstance = listener
wire.TargetInstance = output
概要
屬性
代表釋放聲音的感知音量如何根據 AudioEmitter 與 LookVector 之間的角度變化,與AudioListener相關。
控制哪些 AudioEmitters 對此 AudioListener 可聽。
代表隨著 AudioEmitters 和 AudioListener 之間的距離增加,感知到的聲音音量如何變化。
方法
獲得 AudioListener 使用的角度減衰曲線,或使用預設曲線的空表。
返回連接到指定頂置頂的一個 Wires 陣列。
獲得 AudioListener 使用的距離衰減曲線,或使用預設曲線的空表。
設置 AudioListener 應使用的角度減衰曲線,或使用恆定音量曲線 1 如果沒有提供。
設定 AudioListener 應使用的距離衰減曲線,或在沒有提供時使用逆轉衰減曲線。
活動
當另一個實例連接到或與 AudioListener 通過 Wire 分開時,發生火災。
屬性
AngleAttenuation
代表一個角度過大的音量曲線,會影響 AudioListener 如何聽到 AudioEmitter 的音量,取決於它們之間的角度和與 LookVector 相關的 AudioListener 。
此屬性是內部的,無法由腳本存取;它存在於支持複製的目的。請參閱 SetAngleAttenuation() 獲得使用細節。
DistanceAttenuation
代表一個在距離上的曲線,會影響 AudioListener 聽到任何 AudioEmitters 的音量,根據彼此之間的距離。
此屬性是內部的,無法由腳本存取;它存在於支持複製的目的。請參閱 SetDistanceAttenuation() 獲得使用細節。
SimulationFidelity
方法
GetAngleAttenuation
返回表映射角度到量。鑰匙是 0 和 180 (包括在內)之間的數字,而值是 0 和 1 (包括在內)之間的數字,用於描述音量如何依據方向減輕。此方法如果使用預設角度減輕曲線,將返回空表;如果使用預設角度減輕曲線,則返回空表。
返回
表映射角度到音量,如上述所述。
GetDistanceAttenuation
返回表映射距離到音量。鑰匙是大於或等於 0 的數字,而值是介於 0 和 1(包括)之間的數字,用於描述音量在距離上減弱。此方法如果使用預設距離減衰曲線,將返回空表。
返回
GetInteractingEmitters
返回
SetAngleAttenuation
設置一個角度超過音量曲線,影響 AudioListener 如何聽到 AudioEmitter 的音量,取決於它們之間的角度和與 LookVector 相關的 AudioListener 。
曲線由表映射角度鍵與音量值表示。鑰匙應該是 0 和 180 (包括在內)之間的唯一數字,而值應該是 0 和 1 (包括在內)之間的數字。支持包含最多 400 個鑰匙值對的表。
從角度來看, 的音量由線性插值決定,其中曲線上的點的角值直接高於或低於 的音量級別。如果沒有下面的 a 點或沒有上面的 a 點,則選擇另一個點的音量等級。本質上,曲線是由直線連接的一系列點,其左端和右端點之外,曲線在各自的音量水平上向外延伸。
這個音量將與所有其他減衰曲線的音量(包括發送的 AudioEmitter )乘以以獲得最終的可聽度。
如果表是空或 nil ,則 AudioEmitter 默認使用角度減衰曲線的恆定體積值 1 。
參數
返回
SetDistanceAttenuation
設置一個距離上的音量曲線,會影響 AudioListener 聽到任何 AudioEmitters 的音量,根據彼此之間的距離。
曲線由表映射距離鍵與音量值代表。鑰匙應為大於或等於 0 的獨特數字,而值應為 0 到 1(包括)之間的數字。支持包含最多 400 個鑰匙值對的表。
從遠處觀察的 的音量由線性插值決定,其中曲線上的點的距離值直接高於或低於 。如果沒有下面的 d 點或沒有上面的 d 點,則選擇另一個點的音量等級。本質上,曲線是由直線連接的一系列點,其左端和右端點之外,曲線在各自的音量水平上無限延伸。
這個音量將與所有其他減衰曲線的音量(包括發送的 AudioEmitter )乘以以獲得最終的可聽度。
如果表是空或 nil ,則 AudioListener 默認適用一個恆定的音量 1 到處。
參數
返回
活動
WiringChanged
在 Wire 連接或解除連接後發生的事件,該 Wire 現在或之前已連接到 AudioListener 上的某個彈片或其他可連接的個體、實例。