> ## 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.

# PartySynthesizeTextToSpeechCompletedStateChange

> Information specific to the *SynthesizeTextToSpeechCompleted* type of state change.

Information specific to the *SynthesizeTextToSpeechCompleted* type of state change.

## Syntax

```cpp theme={null}
struct PartySynthesizeTextToSpeechCompletedStateChange : PartyStateChange {  
    PartyStateChangeResult result;  
    PartyError errorDetail;  
    PartyLocalChatControl* localChatControl;  
    PartySynthesizeTextToSpeechType type;  
    PartyString textToSynthesize;  
    void* asyncIdentifier;  
}  
```

### Members

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

Indicates that the operation Succeeded or the reason that it failed.

**`errorDetail`**   PartyError

A diagnostic value providing additional troubleshooting information regarding any potential error condition.

The human-readable form of this error detail can be retrieved via [PartyManager::GetErrorMessage()](https://docs.xbox.com/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_geterrormessage.md).

**`localChatControl`**   [PartyLocalChatControl](https://docs.xbox.com/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/partylocalchatcontrol.md)\*

The chat control used in the call associated with this state change.

**`type`**   [PartySynthesizeTextToSpeechType](https://docs.xbox.com/services/playfab/multiplayer/networking/reference/enums/partysynthesizetexttospeechtype.md)

The type of text-to-speech operation provided to the call associated with this state change.

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

The synthesized text provided to the call associated with this state change.

If the accompanying result was a success, the audio synthesized for this text has been queued in the audio stream but may not have been transmitted yet.

**`asyncIdentifier`**   void\*

The async identifier provided to the call associated with this state change.

## Requirements

**Header:** Party.h

## See also

[Party members](https://docs.xbox.com/services/playfab/multiplayer/networking/reference/party_members.md)\
[PartyLocalChatControl::SynthesizeTextToSpeech](https://docs.xbox.com/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/methods/partylocalchatcontrol_synthesizetexttospeech.md)


## Related topics

- [PlayFab Party text-to-speech and text input UX Guidelines](https://docs.xbox.com/services/playfab/community/voice-communications/party-text-to-speech-ux-guidelines.md)
- [Party C/C++ API overview](https://docs.xbox.com/services/playfab/multiplayer/networking/reference/party_members.md)
- [PartyStateChangeType](https://docs.xbox.com/services/playfab/multiplayer/networking/reference/enums/partystatechangetype.md)
- [PartySetTextToSpeechProfileCompletedStateChange](https://docs.xbox.com/services/playfab/multiplayer/networking/reference/structs/partysettexttospeechprofilecompletedstatechange.md)
- [PartyPopulateAvailableTextToSpeechProfilesCompletedStateChange](https://docs.xbox.com/services/playfab/multiplayer/networking/reference/structs/partypopulateavailabletexttospeechprofilescompletedstatechange.md)
