> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# PartyChatTextReceivedStateChange

> 特定于 *ChatTextReceived* 类型状态更改的信息。

特定于 *ChatTextReceived* 类型状态更改的信息。

## 语法

```cpp theme={null}
struct PartyChatTextReceivedStateChange : PartyStateChange {  
    PartyChatControl* senderChatControl;  
    uint32_t receiverChatControlCount;  
    PartyLocalChatControlArray receiverChatControls;  
    PartyString languageCode;  
    PartyString chatText;  
    uint32_t dataSize;  
    const void* data;  
    uint32_t translationCount;  
    PartyTranslation* translations;  
    PartyChatTextReceivedOptions options;  
    PartyString originalChatText;  
    PartyError errorDetail;  
}  
```

### 成员

**`senderChatControl`**   [PartyChatControl](/services/playfab/multiplayer/networking/reference/classes/PartyChatControl/partychatcontrol)\*

发起该文本消息的聊天控件对象。

**`receiverChatControlCount`**   uint32\_t

文本消息发往的本地接收方聊天控件的数量。

**`receiverChatControls`**   [PartyLocalChatControlArray](/services/playfab/multiplayer/networking/reference/typedefs)\
*大小为 `receiverChatControlCount` 的数组*

文本消息发往的本地接收方聊天控件。

**`languageCode`**   [PartyString](/services/playfab/multiplayer/networking/reference/typedefs)

聊天文本的语言。

仅在启用翻译为本地语言时提供该语言。如果未启用翻译,或者翻译期间发生失败,则语言代码为空字符串。<br /><br /> 语言代码采用 BCP 47 格式,例如 en-US 表示英语(美国)。支持的语言代码在[语言支持](https://learn.microsoft.com/en-us/azure/ai-services/speech-service/language-support)中列出。

**`chatText`**   [PartyString](/services/playfab/multiplayer/networking/reference/typedefs)

接收到的聊天文本。

字符串长度最多可为 `c_maxChatTextMessageLength` 个字符(不包括 null 终止符)。<br /><br /> 启用筛选后,此文本可能不是远程用户发送的原始文本。可以从 `originalChatText` 字段获取确切的源文本。

**`dataSize`**   uint32\_t

与此文本消息关联的数据的大小。

**`data`**   const void\*\
*大小为 `dataSize` 字节的缓冲区*

与此文本消息关联的数据。

**`translationCount`**   uint32\_t

与聊天文本关联的翻译数量。

如果之前已通过 [PartyLocalChatControl::SetTextChatOptions()](/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/methods/partylocalchatcontrol_settextchatoptions) 在本设备上的聊天控件上指定了 [PartyTextChatOptions::TranslateToLocalLanguage](/services/playfab/multiplayer/networking/reference/enums/partytextchatoptions),则会提供翻译。如果多个本地聊天控件启用了翻译,且这些本地聊天控件通过 [PartyLocalDevice::CreateChatControl()](/services/playfab/multiplayer/networking/reference/classes/PartyLocalDevice/methods/partylocaldevice_createchatcontrol) 指定了不同的语言,则可能会提供多个翻译。在这种情况下,应用可以将 `translations` 中每个 PartyTranslation 的 `languageCode` 字段与通过 [PartyLocalChatControl::GetLanguage()](/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/methods/partylocalchatcontrol_getlanguage) 获取的 `receiverChatControls` 中每个本地聊天控件的语言代码进行比较,以确定每个翻译的目标本地聊天控件。

**`translations`**   [PartyTranslation](/services/playfab/multiplayer/networking/reference/structs/partytranslation)\*\
*大小为 `translationCount` 的数组*

一个包含聊天文本字符串翻译的数组。

如果之前已通过 [PartyLocalChatControl::SetTextChatOptions()](/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/methods/partylocalchatcontrol_settextchatoptions) 在本设备上的聊天控件上指定了 [PartyTextChatOptions::TranslateToLocalLanguage](/services/playfab/multiplayer/networking/reference/enums/partytextchatoptions),则会提供翻译。如果多个本地聊天控件启用了翻译,且这些本地聊天控件通过 [PartyLocalDevice::CreateChatControl()](/services/playfab/multiplayer/networking/reference/classes/PartyLocalDevice/methods/partylocaldevice_createchatcontrol) 指定了不同的语言,则可能会提供多个翻译。在这种情况下,应用可以将 `translations` 中每个 PartyTranslation 的 `languageCode` 字段与通过 [PartyLocalChatControl::GetLanguage()](/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/methods/partylocalchatcontrol_getlanguage) 获取的 `receiverChatControls` 中每个本地聊天控件的语言代码进行比较,以确定每个翻译的目标本地聊天控件。

**`options`**   [PartyChatTextReceivedOptions](/services/playfab/multiplayer/networking/reference/enums/partychattextreceivedoptions)

描述有关聊天文本的其他信息的标志。

**`originalChatText`**   [PartyString](/services/playfab/multiplayer/networking/reference/typedefs)

传入文本聊天的原始版本。

此字段始终是远程用户发送的未经筛选的源文本。如果未启用筛选,则该字段是指向 `chatText` 的指针。如果启用了筛选但不需要筛选(如 `options` 字段中的 PartyChatTextReceivedOptions::None 所示),则该字段是指向 `chatText` 的指针。

**`errorDetail`**   PartyError

一个诊断值,提供有关任何潜在错误情况的其他故障排除信息。

此错误仅用于诊断目的。如果发生错误,则 `options` 字段中将会存在 [PartyChatTextReceivedOptions::FilteredDueToError](/services/playfab/multiplayer/networking/reference/enums/partychattextreceivedoptions) 标志。

## 要求

**标头:** Party.h

## 另请参阅

[Party 成员](/services/playfab/multiplayer/networking/reference/party_members)\
[PartyLocalDevice::CreateChatControl](/services/playfab/multiplayer/networking/reference/classes/PartyLocalDevice/methods/partylocaldevice_createchatcontrol)\
[PartyLocalChatControl::SendText](/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/methods/partylocalchatcontrol_sendtext)\
[PartyLocalChatControl::SetTextChatOptions](/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/methods/partylocalchatcontrol_settextchatoptions)


## Related topics

- [PartyChatTextReceivedOptions](/zh-CN/services/playfab/multiplayer/networking/reference/enums/partychattextreceivedoptions.md)
- [PartyTextChatOptions](/zh-CN/services/playfab/multiplayer/networking/reference/enums/partytextchatoptions.md)
- [PartyLocalChatControl::SendText](/zh-CN/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/methods/partylocalchatcontrol_sendtext.md)
- [使用文本审核](/zh-CN/services/playfab/community/voice-communications/concepts-text-moderation.md)
- [PlayFab Party 发行说明](/zh-CN/services/playfab/multiplayer/networking/release-notes.md)
