VoiceChatService 는 음성 채팅의 고위 기능에 책임이 있습니다.이는 대부분 구성 옵션과 특정 인스턴스에서 특별히 제어되지 않는 함수로 구성됩니다.
요약
속성
AudioDeviceInput 및 AudioEmitter 개체가 생성될 때 기본 음성 채팅 설정이 사용하는 거리 감소 곡선을 결정합니다.
각 음성 적격 플레이어가 자신의 캐릭터를 통해 말하는 것처럼 들릴 수 있는지 여부를 제어합니다.
음성 채팅이 AudioDeviceInput 개체에 의해 표시되고 제어되는지 여부를 제어합니다.
메서드
지정된 사용자에게 음성이 활성화되었는지 여부를 반환합니다.
속성
DefaultDistanceAttenuation
이 속성은 기본 음성 채팅 설정에서 생성된 모든 AudioEmitter 인스턴스에 할당된 기본 거리 감소 곡선을 제어합니다.
이 속성은 EnableDefaultVoice 및 UseAudioApi가 모두 활성화되어 있는 경우에만 효과가 있으며, 그렇지 않으면 AudioEmitters이 생성되지 않기 때문입니다.
EnableDefaultVoice
활성화되면 음성 적격 플레이어 각각이 자신의 캐릭터를 통해 말하는 것처럼 들릴 수 있습니다.음성 설정의 구현 세부 정보는 UseAudioApi에 따라 달라집니다.
When 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 대상.
반환
해당 사용자가 음성을 활성화한 경우.