本文总结了在游戏中实现聊天所涉及的步骤。 有关详细信息,请务必查看文章末尾的 “另请参阅” 部分的页面。
使用 Microsoft Azure PlayFab Party 实现聊天功能
Microsoft游戏开发工具包 (GDK) 中包含的 PlayFab Party 是 PC/Xbox 生态系统中同步聊天的建议解决方案。
- 设置 PlayFab Party SDK:PlayFab Party SDK 为游戏提供网络和语音/文本聊天通信。 有适用于不同平台和游戏引擎的 PlayFab Party SDK。 选择并下载所需的文件。
- 对玩家进行身份验证:如果你在 Xbox 和电脑游戏中使用 PlayFab Party,我们建议你使用 Party Xbox Live 帮助程序库 来确保一致的功能和行为。 此库可帮助你的游戏满足 Xbox 服务要求。
- 创建网络:使用具有游戏会话的 PlayFab Party 网络时,选择哪个客户端和玩家将使用 PartyManager::CreateNewNetwork () 创建网络。
- 创建 PartyLocalChatControl 对象:此对象充当与特定本地用户相关的聊天作的管理对象。 可以选择输入和输出设备、静音状态和辅助功能首选项。 每个本地用户不能具有多个聊天控件。 若要使本地聊天控件与其他聊天控件通信,必须满足以下要求。
- 两个聊天控件必须在同一个网络中。
- 将聊天控件连接到网络:调用 PartyNetwork::ConnectChatControl () 。 连接后,网络中的其他设备会收到通知,指出聊天控件已加入网络并发生 PartyChatControlJoinedNetworkStateChange 状态更改。 你还会收到
PartyChatControlJoinedNetworkStateChange
网络中已有的每个其他聊天控件的 ,并可以立即与他们通信。 - 选择音频输入和输出:使用 PlayFab Party 通过 PartyLocalChatControl::SetAudioInput () 和 PartyLocalChatControl::SetAudioOutput () 方法选择聊天控件使用的音频设备。 使用 PartyAudioDeviceSelectionType 枚举更改以下方法的行为:
-
PartyAudioDeviceSelectionType::None
:默认选择此音频设备类型。 -
PartyAudioDeviceSelectionType::SystemDefault
:选择此音频设备选择类型时,聊天控件将尝试使用系统的默认通信设备。 -
PartyAudioDeviceSelectionType::PlatformUserDefault
:选择此音频设备选择类型时,PartyLocalChatControl::SetAudioInput()
并PartyLocalChatControl::SetAudioOutput()
要求将audioDeviceSelectionContext
参数设置为平台用户 ID。 然后,PlayFab Party 尝试使用与该用户关联的平台默认通信设备。 -
PartyAudioDeviceSelectionType::Manual
:选择此音频设备选择类型时,PartyLocalChatControl::SetAudioInput()
PartyLocalChatControl::SetAudioOutput()
请使用audioDeviceSelectionContext
参数作为有效的音频设备标识符,并尝试使用与该标识符匹配的任何设备。
-
- 实现聊天权限和静音:PlayFab Party 可让你精细控制玩家如何相互通信。 PlayFab Party 需要显式定义每对聊天控件之间的权限,而不是指定团队或频道。
- 实现文本聊天、翻译和审查:PlayFab Party 还允许你从其他聊天控件发送和接收文本聊天。
-
使用 PartyLocalChatControl::SendText () 方法可将文本消息发送到任意数量的聊天控件。 可以放心,只有具有相应
PartyChatPermissionOptions::ReceiveText
聊天权限的聊天控件才会接收消息。 - 还可以通过调用 PartyLocalChatControl::SetTextChatOptions () 来启用文本聊天翻译。
- 设置 PartyTextChatOptions::TranslateToLocalLanguage 选项会导致 PlayFab Party 将传入的文本消息翻译为本地聊天控件的语言。
-
使用 PartyLocalChatControl::SendText () 方法可将文本消息发送到任意数量的聊天控件。 可以放心,只有具有相应
- 实现可访问的聊天:由 Azure 语音服务提供支持的 PlayFab Party 可以 转录玩家语音聊天 并从 文本合成语音。
- 实现音频输入噪音抑制:PlayFab Party 允许在捕获的麦克风音频传输到远程聊天控件之前抑制背景噪音。 这可以显著提高玩家的语音音频质量。
另请参阅
PlayFab 文档 是最新信息的最佳来源。 有关详细信息,请参阅以下文章和示例。
-
这是一个简单的多人游戏,演示如何在游戏中使用 Microsoft Azure PlayFab 群和多人游戏C++ SDK 和 API。 此示例包含语音聊天功能。