Voice
阅读
2023-08-26更新
最新编辑:TrimesS_
阅读:
更新日期:2023-08-26
最新编辑:TrimesS_
语音 API 允许开发人员更改语音聊天的各种属性和行为。
用法
OnVoicePlayed
您可以重载 Sandbox.Game 中的 OnVoicePlayed() 方法,以控制当其他客户端的语音数据通过时会发生什么。请注意,您自己的客户端不会调用 OnVoicePlayed,只有其他客户端才会。
public override void OnVoicePlayed( Client cl )
{
Log.Info( $"{cl.Name} is speaking!" );
VoiceList.Current?.OnVoicePlayed( cl.SteamId, cl.VoiceLevel );
}
语音UI
语音列表
默认情况下,OnVoicePlayed 会填充一个名为 VoiceList (base/UI/VoiceChat) 的基础 UI 组件,只要它存在于你的游戏 UI 中(即在模板中添加 <VoiceList /> 或在 C# 中将该类作为子类添加)。通过重载 OnVoicePlayed,您可以自定义客户端听到语音时会发生的情况。
文件:8da967cb4a55ce0.png
语音扬声器图标
VoiceSpeaker 是另一个基础 UI 组件,它可以在你说话时显示,而不是在其他人说话时显示。
文件:8da967d59e05d0c.png
客户端属性
您可以访问客户端上与语音有关的各种属性。通过这些属性,您可以访问游戏中任何客户端的语音属性。
//VoiceStereo 可确定语音聊天是基于全局还是近距离。
cl.VoiceStereo = false;
Sandbox.Voice
通过 Sandbox.Voice,您可以访问基于本地客户端语音的其他属性。