Skip to main content
将异步操作排队以为指定用户创建本地聊天控件。

Syntax

Parameters

localUser   PartyLocalUser* 新本地聊天控件的本地用户。 languageCode   PartyString
optional
要使用的可选语言。 asyncIdentifier   void*
optional
可选的、应用定义的指针大小上下文值,可用于将完成状态更改与此调用关联。 localChatControl   PartyLocalChatControl**
optional, library-allocated output
可选的输出本地聊天控件。

Return value

PartyError 如果创建聊天控件的异步操作已开始,则返回 c_partyErrorSuccess;否则返回错误代码。如果此方法失败,则不会生成相关的状态更改。可通过 PartyManager::GetErrorMessage() 检索错误代码的可读形式。

Remarks

如果此方法返回成功,将生成 PartyCreateChatControlCompletedStateChange 以提供异步操作的结果。如果异步操作成功,将生成 PartyChatControlCreatedStateChange。如果操作失败,将生成 PartyChatControlDestroyedStateChange。此方法本身不会使聊天控件对任何远程设备可见。要向远程设备公告此聊天控件,标题应调用 PartyNetwork::ConnectChatControl()

成功返回时,此方法会使先前由 PartyManager::GetChatControls()PartyDevice::GetChatControls() 为本地设备返回的任何数组的内存无效,因为它同步地将新聊天控件添加到这些数组中。PartyManager::StartProcessingStateChanges() 也会使这些数组的内存无效。返回的 localChatControl 对象将保持有效,直到生成 PartyChatControlDestroyedStateChange 并且所有引用该对象的状态更改都已返回到 PartyManager::FinishProcessingStateChanges()

可以通过 languageCode 参数选择性地指定与此聊天控件关联的语言。如果未指定语言,则将使用由平台确定的用户默认语言。该语言用作与此聊天控件关联的用于转录的口语语言,以及传入翻译的目标语言。例如,如果指定的语言代码为 en-US,则此聊天控件的输入音频将被视为英语(美国)并进行相应转录。如果通过 PartyLocalChatControl::SetTranscriptionOptions()PartyLocalChatControl::SetTextChatOptions() 启用了翻译,则传入的语音聊天转录和/或文本聊天将被翻译为英语(美国)。

语言代码应采用 BCP 47 格式;支持的语言代码在语言支持中列出。指定不支持或无效的语言代码不会导致此方法失败,但会导致无法生成与此聊天控件关联的转录。可通过 PartyLocalChatControl::GetLanguage() 查询与此方法一起使用的语言代码。

Requirements

Header: Party.h

See also

PartyLocalDevice
PartyCreateChatControlCompletedStateChange
PartyChatControlCreatedStateChange
PartyChatControlDestroyedStateChange
PartyManager::GetChatControls
PartyDevice::GetChatControls
PartyNetwork::ConnectChatControl
PartyLocalChatControl::GetLanguage
PartyLocalChatControl::SetTranscriptionOptions
PartyLocalChatControl::SetTranscriptionOptions
最后修改于 2026年8月13日