跳轉到主要內容
將非同步作業排入佇列,以為指定的使用者建立本機聊天控制項。

語法

參數

localUser   PartyLocalUser* 新的本機聊天控制項的本機使用者。 languageCode   PartyString
選用
要使用的選用語言。 asyncIdentifier   void*
選用
選用的應用程式定義指標大小內容值,可用來將完成狀態變更與此呼叫相關聯。 localChatControl   PartyLocalChatControl**
optional, library-allocated output
選用的輸出本機聊天控制項。

傳回值

PartyError c_partyErrorSuccess (如果建立聊天控制項的非同步作業已開始),否則為錯誤碼。如果此方法失敗,將不會產生任何相關的狀態變更。可透過 PartyManager::GetErrorMessage() 擷取錯誤碼的人類可讀形式。

備註

如果此方法傳回成功,將會產生 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() 查詢此方法使用的語言代碼。

需求

標頭: Party.h

另請參閱

PartyLocalDevice
PartyCreateChatControlCompletedStateChange
PartyChatControlCreatedStateChange
PartyChatControlDestroyedStateChange
PartyManager::GetChatControls
PartyDevice::GetChatControls
PartyNetwork::ConnectChatControl
PartyLocalChatControl::GetLanguage
PartyLocalChatControl::SetTranscriptionOptions
PartyLocalChatControl::SetTranscriptionOptions
最後修改於 2026年10月20日