PartyVoiceChatTranscriptionReceivedStateChange

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

语法

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

说明脚本操作成功或失败的原因。

成功后,transcription 字段为非零长度字符串。 失败时,字符串为空。 失败表示已尝试为发言人进行脚本操作,但无法完成。 如果脚本是在与聊天控件相关联的用户请求下启用,并且通过 UI 显示脚本消息,建议也向用户提示失败,以便提供反馈,说明脚本是处于待定状态或已经失败。

errorDetail PartyError

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

可通过 PartyManager::GetErrorMessage() 检索此错误详细信息的可读形式。

senderChatControl PartyChatControl*

源自脚本消息的聊天控件对象。

receiverChatControlCount uint32_t

用于处理脚本的本地接收器聊天控件的数量。

receiverChatControls PartyLocalChatControlArray
数组大小receiverChatControlCount

要处理脚本的本地聊天控件。

sourceType PartyAudioSourceType

此脚本表示的音频源的类型。

音频源类型可选用于游戏场景中,应采用不同源类型的脚本处理方式。 例如,根据脚本是否与麦克风或文本到语音转换音频相关联,可能会显示不同的图标。

languageCode PartyString

脚本的语言代码。

result 字段指示成功时,始终提供语言代码。 否则,语言代码为空字符串。

语言代码采用 BCP 47 格式,例如英语(美国)为 en-US。 支持的语言代码已在语言支持中枚举。

transcription PartyString

转录语音聊天文本。

字符串最多可以是 c_maxChatTextMessageLength 个字符长,不包括 null 终止符。 当字段指示失败时,result 字符串始终为空。

type PartyVoiceChatTranscriptionPhraseType

指示在 transcription 字段中提供的文本的短语类型。

result 字段指示失败时,该类型始终是 PartyVoiceChatTranscriptionPhraseType::Final

translationCount uint32_t

与转录语音聊天文本相关的翻译数。

如果 PartyVoice ChatTranstionOptions::TranslateToLocalLanguage 之前已经通过 PartyLocalChatControl::SetTranscriptionOptions() 对此设备在本地聊天控件上进行了指定,则会提供翻译。 如果多个本地聊天控件已启用翻译,并且本地聊天控件通过 PartyLocalDevice::CreateChatControl()进行了指定, 可能会提供多个翻译。 在这种情况下,应用可以比较 translations 中每个PartyTranslation的 languageCode 字段与语言代码,语言代码通过PartyLocalChatControl::GetLanguage()获得,为 receiverChatControls 中的每个本地聊天控件确定每个翻译的目标本地聊天控件。

translations PartyTranslation*
数组大小translationCount

包含语音聊天脚本字符串的翻译的数组。

如果 PartyVoice ChatTranstionOptions::TranslateToLocalLanguage 之前已经通过 PartyLocalChatControl::SetTranscriptionOptions() 对此设备在本地聊天控件上进行了指定,则会提供翻译。 如果多个本地聊天控件已启用翻译,并且本地聊天控件通过 PartyLocalDevice::CreateChatControl()进行了指定, 可能会提供多个翻译。 在这种情况下,应用可以比较 translations 中每个PartyTranslation的 languageCode 字段与语言代码,语言代码通过PartyLocalChatControl::GetLanguage()获得,为 receiverChatControls 中的每个本地聊天控件确定每个翻译的目标本地聊天控件。

即使语音聊天控件的语言与本地聊天控件的语言相同,会为已启用翻译的 receiverChatControls 中的每个聊天控件提供与语言相对应的翻译。 在这种情况下,脚本和翻译字符串是相同的。

要求

标题: Party.h

另请参阅

群成员
PartyLocalDevice::CreateChatControl
PartyLocalChatControl::SetTranscriptionOptions