音訊聊天服務 負責高級音訊聊天功能。主要由配置選項和不受更具體實例特別控制的功能組成。
概要
屬性
決定在 AudioDeviceInput 和 AudioEmitter 對象生成時,預設語音聊天設定使用的距離減弱曲線。
控制每個符合語音資格的玩家是否可以被聽到,好像他們通過角色進行對話一樣。
控制是否使用 AudioDeviceInput 對象來代表和控制語音聊天。
方法
返回指定用戶是否啟用了語音。
屬性
DefaultDistanceAttenuation
此屬性控制預設距離衰減曲線,授予任何生成的 AudioEmitter 實例在預設語音聊天設定中。
此屬性只有效果,如果 EnableDefaultVoice 和 UseAudioApi 兩者都啟用,因為不會生成任何 AudioEmitters 。
EnableDefaultVoice
啟用時,每個符合語音資格的玩家都可以被聽到,彷彿他們正在通過角色發言一樣。語音設定的實現細節取決於 UseAudioApi 。
當 UseAudioApi 是 Enabled 時,禁用此屬性會禁用預設設置,但 AudioDeviceInput 仍然會工作。相反,當 UseAudioApi 是 Disabled 時,停用預設語音設定會有效地禁用語音聊天。
UseAudioApi
如果 Enabled , 語音聊天設定由 AudioDeviceInput 個對象代表和控制。更具體地說:
- 將創建並指派給每個符合語音資格的 AudioDeviceInput 一個 Player 。
- 將會創建並指派AudioEmitter給每個符合語音資格的玩家的Player.Character。
- 一個 AudioListener 將被創建並指派給 Workspace.CurrentCamera 。
您可以通過設置 VoiceChatService.EnableDefaultVoice 為 false 來禁用預設設置。
如果 Disabled,語音聊天設定通過內部專用系統完成。
目前,將此設為 Automatic 具有與 Disabled 相同的意義。然而,在未來,Automatic將變成Enabled,因此新體驗可以在語音上獲得更大的自訂。
方法
IsVoiceEnabledForUserIdAsync
返回指定用戶是否啟用了語音。在客戶端,這只能用於檢查本地玩家的音響狀態。在服務器端,這只能檢查那個伺服器上的玩家的音響狀態。
此功能可能會在 HTTP 呼叫失敗時發出錯誤。
local Players = game:GetService("Players")
local VoiceChatService = game:GetService("VoiceChatService")
local localPlayer = Players.LocalPlayer
local success, enabled = pcall(function()
return VoiceChatService:IsVoiceEnabledForUserIdAsync(localPlayer.UserId)
end)
if success and enabled then
print("Voice chat enabled!")
end
參數
要檢查的 Player.UserId 。
返回
如果該使用者啟用了語音。