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

# PartyVoiceChatTranscriptionReceivedStateChange

> *VoiceChatTranscriptionReceived* 類型狀態變更的特定資訊。

*VoiceChatTranscriptionReceived* 類型狀態變更的特定資訊。

## 語法

```cpp theme={null}
struct PartyVoiceChatTranscriptionReceivedStateChange : PartyStateChange {  
    PartyStateChangeResult result;  
    PartyError errorDetail;  
    PartyChatControl* senderChatControl;  
    uint32_t receiverChatControlCount;  
    PartyLocalChatControlArray receiverChatControls;  
    PartyAudioSourceType sourceType;  
    PartyString languageCode;  
    PartyString transcription;  
    PartyVoiceChatTranscriptionPhraseType type;  
    uint32_t translationCount;  
    PartyTranslation* translations;  
}  
```

### 成員

**`result`**   [PartyStateChangeResult](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/enums/partystatechangeresult.md)

表示轉譯作業已成功，或提供其失敗的原因。

成功時，`transcription` 欄位是非零長度的字串。失敗時，此字串是空的。失敗表示已針對說話者嘗試轉譯作業，但無法完成。如果轉譯是應與聊天控制項相關聯之使用者的要求而啟用，且轉譯訊息會透過 UI 顯示，建議也向使用者指出失敗，以便提供有關轉譯是擱置中還是已失敗的意見反應。

**`errorDetail`**   PartyError

診斷值，提供有關任何潛在錯誤狀況的其他疑難排解資訊。

可透過 [PartyManager::GetErrorMessage()](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_geterrormessage.md) 擷取此錯誤詳細資料的人類可讀形式。

**`senderChatControl`**   [PartyChatControl](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyChatControl/partychatcontrol.md)\*

產生轉譯訊息的聊天控制項物件。

**`receiverChatControlCount`**   uint32\_t

轉譯所傳送至的本機接收者聊天控制項數目。

**`receiverChatControls`**   [PartyLocalChatControlArray](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/typedefs.md)\
*大小為 `receiverChatControlCount` 的陣列*

轉譯所傳送至的本機接收者聊天控制項。

**`sourceType`**   [PartyAudioSourceType](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/enums/partyaudiosourcetype.md)

此轉譯所代表的音訊來源類型。

在應以不同方式處理來自不同來源類型之轉譯的遊戲案例中，可以選擇性地使用音訊來源類型。例如，可以根據轉譯是與麥克風音訊還是文字轉換語音音訊相關聯，顯示不同的圖示。

**`languageCode`**   [PartyString](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/typedefs.md)

轉譯的語言代碼。

當 `result` 欄位表示成功時，一律會提供語言代碼。否則，語言代碼會是空字串。\
\
&#x20;語言代碼採用 BCP 47 格式，例如 en-US 代表英文 (美國)。支援的語言代碼列舉於[語言支援](https://learn.microsoft.com/en-us/azure/ai-services/speech-service/language-support)中。

**`transcription`**   [PartyString](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/typedefs.md)

轉譯的語音聊天文字。

字串最多可達 `c_maxChatTextMessageLength` 個字元 (不包括 Null 結束字元)。當 `result` 欄位表示失敗時，字串一律是空的。

**`type`**   [PartyVoiceChatTranscriptionPhraseType](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/enums/partyvoicechattranscriptionphrasetype.md)

表示 `transcription` 欄位中所提供文字的片語類型。

當 `result` 欄位表示失敗時，類型一律為 [PartyVoiceChatTranscriptionPhraseType::Final](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/enums/partyvoicechattranscriptionphrasetype.md)。

**`translationCount`**   uint32\_t

與轉譯之語音聊天文字相關聯的翻譯數目。

如果先前已在此裝置的本機聊天控制項上透過 [PartyLocalChatControl::SetTranscriptionOptions()](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/methods/partylocalchatcontrol_settranscriptionoptions.md) 指定 [PartyVoiceChatTranscriptionOptions::TranslateToLocalLanguage](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/enums/partyvoicechattranscriptionoptions.md)，就會提供翻譯。如果有多個本機聊天控制項啟用了翻譯，且這些本機聊天控制項透過 [PartyLocalDevice::CreateChatControl()](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyLocalDevice/methods/partylocaldevice_createchatcontrol.md) 指定了不同的語言，則可能會有多個翻譯。在此情況下，應用程式可以將 `translations` 中每個 PartyTranslation 的 `languageCode` 欄位，與 `receiverChatControls` 中每個本機聊天控制項透過 [PartyLocalChatControl::GetLanguage()](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/methods/partylocalchatcontrol_getlanguage.md) 取得的語言代碼進行比較，以判斷每個翻譯的目標本機聊天控制項。

**`translations`**   [PartyTranslation](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/structs/partytranslation.md)\*\
*大小為 `translationCount` 的陣列*

包含語音聊天轉譯字串之翻譯的陣列。

如果先前已在此裝置的本機聊天控制項上透過 [PartyLocalChatControl::SetTranscriptionOptions()](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/methods/partylocalchatcontrol_settranscriptionoptions.md) 指定 [PartyVoiceChatTranscriptionOptions::TranslateToLocalLanguage](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/enums/partyvoicechattranscriptionoptions.md)，就會提供翻譯。如果有多個本機聊天控制項啟用了翻譯，且這些本機聊天控制項透過 [PartyLocalDevice::CreateChatControl()](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyLocalDevice/methods/partylocaldevice_createchatcontrol.md) 指定了不同的語言，則可能會有多個翻譯。在此情況下，應用程式可以將 `translations` 中每個 PartyTranslation 的 `languageCode` 欄位，與 `receiverChatControls` 中每個本機聊天控制項透過 [PartyLocalChatControl::GetLanguage()](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/methods/partylocalchatcontrol_getlanguage.md) 取得的語言代碼進行比較，以判斷每個翻譯的目標本機聊天控制項。\
\
&#x20;對於 `receiverChatControls` 中每個已啟用翻譯的聊天控制項，都會提供對應其語言的翻譯，即使說話之聊天控制項的語言與本機聊天控制項的語言相同也是如此。在此情況下，轉譯和翻譯字串會完全相同。

## 需求

**標頭：** Party.h

## 另請參閱

[Party 成員](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/party_members.md)\
[PartyLocalDevice::CreateChatControl](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyLocalDevice/methods/partylocaldevice_createchatcontrol.md)\
[PartyLocalChatControl::SetTranscriptionOptions](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/methods/partylocalchatcontrol_settranscriptionoptions.md)


## Related topics

- [PartyVoiceChatTranscriptionOptions](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/enums/partyvoicechattranscriptionoptions.md)
- [PartyVoiceChatTranscriptionPhraseType](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/enums/partyvoicechattranscriptionphrasetype.md)
- [PlayFab Party 版本資訊](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/release-notes.md)
- [PartyLocalChatControl::GetTranscriptionOptions](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/methods/partylocalchatcontrol_gettranscriptionoptions.md)
- [PartyLocalChatControl::SetTranscriptionOptions](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/methods/partylocalchatcontrol_settranscriptionoptions.md)
