在游戏中实现聊天

本文总结了在游戏中实现聊天所涉及的步骤。 有关详细信息,请务必查看文章末尾的 “另请参阅” 部分的页面。

使用 Microsoft Azure PlayFab Party 实现聊天功能

Microsoft游戏开发工具包 (GDK) 中包含的 PlayFab Party 是 PC/Xbox 生态系统中同步聊天的建议解决方案。

  1. 设置 PlayFab Party SDK:PlayFab Party SDK 为游戏提供网络和语音/文本聊天通信。 有适用于不同平台和游戏引擎的 PlayFab Party SDK。 选择并下载所需的文件。
  2. 对玩家进行身份验证:如果你在 Xbox 和电脑游戏中使用 PlayFab Party,我们建议你使用 Party Xbox Live 帮助程序库 来确保一致的功能和行为。 此库可帮助你的游戏满足 Xbox 服务要求。
  3. 创建网络:使用具有游戏会话的 PlayFab Party 网络时,选择哪个客户端和玩家将使用 PartyManager::CreateNewNetwork () 创建网络。
  4. 创建 PartyLocalChatControl 对象:此对象充当与特定本地用户相关的聊天作的管理对象。 可以选择输入和输出设备、静音状态和辅助功能首选项。 每个本地用户不能具有多个聊天控件。 若要使本地聊天控件与其他聊天控件通信,必须满足以下要求。
    • 两个聊天控件必须在同一个网络中。
  5. 将聊天控件连接到网络:调用 PartyNetwork::ConnectChatControl () 。 连接后,网络中的其他设备会收到通知,指出聊天控件已加入网络并发生 PartyChatControlJoinedNetworkStateChange 状态更改。 你还会收到 PartyChatControlJoinedNetworkStateChange 网络中已有的每个其他聊天控件的 ,并可以立即与他们通信。
  6. 选择音频输入和输出:使用 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 参数作为有效的音频设备标识符,并尝试使用与该标识符匹配的任何设备。
  7. 实现聊天权限和静音:PlayFab Party 可让你精细控制玩家如何相互通信。 PlayFab Party 需要显式定义每对聊天控件之间的权限,而不是指定团队或频道。
  8. 实现文本聊天、翻译和审查:PlayFab Party 还允许你从其他聊天控件发送和接收文本聊天。
  9. 实现可访问的聊天:由 Azure 语音服务提供支持的 PlayFab Party 可以 转录玩家语音聊天 并从 文本合成语音
  10. 实现音频输入噪音抑制:PlayFab Party 允许在捕获的麦克风音频传输到远程聊天控件之前抑制背景噪音。 这可以显著提高玩家的语音音频质量。

另请参阅

PlayFab 文档 是最新信息的最佳来源。 有关详细信息,请参阅以下文章和示例。