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