> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# PartyLocalDevice::CreateChatControl

> 將非同步作業排入佇列，以為指定的使用者建立本機聊天控制項。

將非同步作業排入佇列，以為指定的使用者建立本機聊天控制項。

## 語法

```cpp theme={null}
PartyError CreateChatControl(  
    const PartyLocalUser* localUser,  
    PartyString languageCode,  
    void* asyncIdentifier,  
    PartyLocalChatControl** localChatControl  
)  
```

### 參數

**`localUser`**   [PartyLocalUser\*](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyLocalUser/partylocaluser.md)

新的本機聊天控制項的本機使用者。

**`languageCode`**   [PartyString](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/typedefs.md)\
*選用*

要使用的選用語言。

**`asyncIdentifier`**   void\*\
*選用*

選用的應用程式定義指標大小內容值，可用來將完成狀態變更與此呼叫相關聯。

**`localChatControl`**   [PartyLocalChatControl\*\*](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/partylocalchatcontrol.md)\
*optional, library-allocated output*

選用的輸出本機聊天控制項。

### 傳回值

PartyError

`c_partyErrorSuccess` (如果建立聊天控制項的非同步作業已開始)，否則為錯誤碼。如果此方法失敗，將不會產生任何相關的狀態變更。可透過 [PartyManager::GetErrorMessage()](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_geterrormessage.md) 擷取錯誤碼的人類可讀形式。

## 備註

如果此方法傳回成功，將會產生 [PartyCreateChatControlCompletedStateChange](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/structs/partycreatechatcontrolcompletedstatechange.md) 以提供非同步作業的結果。如果非同步作業成功，將會產生 [PartyChatControlCreatedStateChange](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/structs/partychatcontrolcreatedstatechange.md)。如果作業失敗，將會產生 [PartyChatControlDestroyedStateChange](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/structs/partychatcontroldestroyedstatechange.md)。此方法本身不會讓聊天控制項對任何遠端裝置可見。若要向遠端裝置公告此聊天控制項，遊戲應呼叫 [PartyNetwork::ConnectChatControl()](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyNetwork/methods/partynetwork_connectchatcontrol.md)。 \
\
&#x20;成功傳回時，此方法會使先前由 [PartyManager::GetChatControls()](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_getchatcontrols.md) 或 [PartyDevice::GetChatControls()](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyDevice/methods/partydevice_getchatcontrols.md) 針對本機裝置傳回之任何陣列的記憶體失效，因為它會以同步方式將新的聊天控制項新增至陣列。[PartyManager::StartProcessingStateChanges()](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_startprocessingstatechanges.md) 也會使這些陣列的記憶體失效。傳回的 `localChatControl` 物件在產生 PartyChatControlDestroyedStateChange 且所有參考該物件的狀態變更都已傳回給 [PartyManager::FinishProcessingStateChanges()](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_finishprocessingstatechanges.md) 之前都有效。   \
\
&#x20;可以選擇透過 `languageCode` 參數指定與此聊天控制項相關聯的語言。如果未指定語言，將使用平台所決定的使用者預設語言。此語言會用作與此聊天控制項相關聯的轉譯口語語言，以及傳入翻譯的目標語言。例如，如果指定的語言代碼為 en-US，則此聊天控制項的輸入音訊將被視為英文 (美國) 並據以轉譯。如果透過 [PartyLocalChatControl::SetTranscriptionOptions()](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/methods/partylocalchatcontrol_settranscriptionoptions.md) 或 [PartyLocalChatControl::SetTextChatOptions()](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/methods/partylocalchatcontrol_settextchatoptions.md) 啟用翻譯，傳入的語音聊天轉譯和/或文字聊天將會翻譯為英文 (美國)。   \
\
&#x20;語言代碼應採用 BCP 47 格式；支援的語言代碼列舉於[語言支援](https://learn.microsoft.com/en-us/azure/ai-services/speech-service/language-support)中。指定不支援或無效的語言代碼不會導致此方法失敗，但會導致無法產生與此聊天控制項相關聯的轉譯。可透過 [PartyLocalChatControl::GetLanguage()](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/methods/partylocalchatcontrol_getlanguage.md) 查詢此方法使用的語言代碼。

## 需求

**標頭：** Party.h

## 另請參閱

[PartyLocalDevice](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyLocalDevice/partylocaldevice.md)\
[PartyCreateChatControlCompletedStateChange](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/structs/partycreatechatcontrolcompletedstatechange.md)\
[PartyChatControlCreatedStateChange](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/structs/partychatcontrolcreatedstatechange.md)\
[PartyChatControlDestroyedStateChange](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/structs/partychatcontroldestroyedstatechange.md)\
[PartyManager::GetChatControls](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_getchatcontrols.md)\
[PartyDevice::GetChatControls](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyDevice/methods/partydevice_getchatcontrols.md)\
[PartyNetwork::ConnectChatControl](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyNetwork/methods/partynetwork_connectchatcontrol.md)\
[PartyLocalChatControl::GetLanguage](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/methods/partylocalchatcontrol_getlanguage.md)\
[PartyLocalChatControl::SetTranscriptionOptions](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/methods/partylocalchatcontrol_settranscriptionoptions.md)\
[PartyLocalChatControl::SetTranscriptionOptions](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/methods/partylocalchatcontrol_settranscriptionoptions.md)


## Related topics

- [PartyDevice::GetChatControls](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyDevice/methods/partydevice_getchatcontrols.md)
- [PartyManager::GetChatControls](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_getchatcontrols.md)
- [PartyCreateChatControlCompletedStateChange](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/structs/partycreatechatcontrolcompletedstatechange.md)
- [PartyLocalChatControl::GetLanguage](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/methods/partylocalchatcontrol_getlanguage.md)
- [PartyChatControlCreatedStateChange](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/structs/partychatcontrolcreatedstatechange.md)
