PartyVoiceChatTranscriptionReceivedStateChange

Information specific to the VoiceChatTranscriptionReceived type of state change.

Syntax

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;  
}  

Members

result   PartyStateChangeResult

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

On success, the transcription field will be a string of non-zero length. On failure, the string will be empty. Failure indicates that a transcription operation was attempted for the speaker but could not be completed. If transcription is enabled at the request of the user associated with the chat control, and the transcription messages are shown via UI, it is recommended that failures also be indicated to the user in order to provide feedback as to whether transcriptions are pending or have 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().

senderChatControl   PartyChatControl*

The chat control object that originated the transcription message.

receiverChatControlCount   uint32_t

The number of local receiver chat controls to which the transcription is addressed.

receiverChatControls   PartyLocalChatControlArray
array of size receiverChatControlCount

The local receiver chat controls to which the transcription is addressed.

sourceType   PartyAudioSourceType

The type of audio source this transcription represents.

The audio source type can optionally be used for game scenarios in which transcriptions from different source types should be treated differently. For instance, different iconography may be shown depending on whether the transcription is associated with microphone or text-to-speech audio.

languageCode   PartyString

The language code of the transcription.

The language code will always be provided when the result field indicates success. Otherwise, the language code will be an empty string.

The language code will be in BCP 47 format, such as en-US for English (United States). Supported language codes are enumerated at https://docs.microsoft.com/azure/cognitive-services/speech-service/language-support.

transcription   PartyString

The transcribed voice chat text.

The string may be up to c_maxChatTextMessageLength characters long, not including the null terminator. The string will always be empty when the result field indicates failures.

type   PartyVoiceChatTranscriptionPhraseType

Indicates the phrase type of the text provided in the transcription field.

The type will always be PartyVoiceChatTranscriptionPhraseType::Final when the result field indicates failure.

translationCount   uint32_t

The number of translations associated with the transcribed voice chat text.

Translations will be provided if PartyVoiceChatTranscriptionOptions::TranslateToLocalLanguage had previously been specified via PartyLocalChatControl::SetTranscriptionOptions() on a chat control local to this device. There may be more than one translation if multiple local chat controls have enabled translation and the local chat controls have specified different languages via PartyLocalDevice::CreateChatControl(). In that case, the app can compare the languageCode field of each PartyTranslation in translations against the language code, obtained via PartyLocalChatControl::GetLanguage(), for each local chat control in receiverChatControls to determine the target local chat control for each translation.

translations   PartyTranslation*
array of size translationCount

An array containing the translations of the voice chat transcription string.

Translations will be provided if PartyVoiceChatTranscriptionOptions::TranslateToLocalLanguage had previously been specified via PartyLocalChatControl::SetTranscriptionOptions() on a chat control local to this device. There may be more than one translation if multiple local chat controls have enabled translation and the local chat controls have specified different languages via PartyLocalDevice::CreateChatControl(). In that case, the app can compare the languageCode field of each PartyTranslation in translations against the language code, obtained via PartyLocalChatControl::GetLanguage(), for each local chat control in receiverChatControls to determine the target local chat control for each translation.

A translation corresponding to the language for each chat control in receiverChatControls that has enabled translation will be provided, even if the speaking chat control's language is the same as the local chat control's language. In such a case, the transcription and translation strings will be identical.

Requirements

Header: Party.h

See also

Party members
PartyLocalDevice::CreateChatControl
PartyLocalChatControl::SetTranscriptionOptions