> ## 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.

# PartyLocalChatControl::SetAudioInput

> 設定聊天控制項將用於音訊輸入的慣用麥克風或錄音裝置。

設定聊天控制項將用於音訊輸入的慣用麥克風或錄音裝置。

## 語法

```cpp theme={null}
PartyError SetAudioInput(  
    PartyAudioDeviceSelectionType audioDeviceSelectionType,  
    PartyString audioDeviceSelectionContext,  
    void* asyncIdentifier  
)  
```

### 參數

**`audioDeviceSelectionType`**   [PartyAudioDeviceSelectionType](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/enums/partyaudiodeviceselectiontype.md)

如果指定 [PartyAudioDeviceSelectionType::None](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/enums/partyaudiodeviceselectiontype.md)，則會清除音訊輸入。如果指定 [PartyAudioDeviceSelectionType::SystemDefault](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/enums/partyaudiodeviceselectiontype.md)，Party 程式庫會嘗試使用系統的預設通訊裝置。如果指定 [PartyAudioDeviceSelectionType::PlatformUserDefault](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/enums/partyaudiodeviceselectiontype.md)，Party 程式庫會嘗試使用與 `audioDeviceSelectionContext` 相關聯的預設通訊裝置。如果指定 [PartyAudioDeviceSelectionType::Manual](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/enums/partyaudiodeviceselectiontype.md)，Party 程式庫會嘗試使用裝置識別碼相符的通訊裝置。請注意，Android、iOS 或 macOS 不支援 `PartyAudioDeviceSelectionType::Manual`。

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

使用 [PartyAudioDeviceSelectionType::None](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/enums/partyaudiodeviceselectiontype.md) 或 [PartyAudioDeviceSelectionType::SystemDefault](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/enums/partyaudiodeviceselectiontype.md) 時，會忽略 `audioDeviceSelectionContext`。使用 [PartyAudioDeviceSelectionType::PlatformUserDefault](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/enums/partyaudiodeviceselectiontype.md) 時，`audioDeviceSelectionContext` 必須是聊天控制項選取音訊裝置時應使用的非 null、非空白平台專屬使用者內容。使用 [PartyAudioDeviceSelectionType::Manual](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/enums/partyaudiodeviceselectiontype.md) 時，`audioDeviceSelectionContext` 必須是聊天控制項應使用之音訊裝置的非 null、非空白識別碼。

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

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

### 傳回值

PartyError

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

## 備註

此方法會將非同步作業排入佇列，以設定與此本機聊天控制項相關聯的慣用錄音裝置。如果方法成功，[PartyManager::StartProcessingStateChanges()](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_startprocessingstatechanges.md) 會提供包含輸入裝置狀態詳細資料的 [PartyLocalChatAudioInputChangedStateChange](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/structs/partylocalchataudioinputchangedstatechange.md)，並在作業完成時提供 [PartySetChatAudioInputCompletedStateChange](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/structs/partysetchataudioinputcompletedstatechange.md)，表示成功或失敗。完成後，每當音訊裝置狀態變更 (例如因裝置移除) 時，都會再提供 [PartyLocalChatAudioInputChangedStateChange](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/structs/partylocalchataudioinputchangedstatechange.md)。 \
\
&#x20;如果指定的裝置不存在，聊天控制項會訂閱音訊裝置變更，並在裝置出現時使用該裝置。   \
\
&#x20;在 XBOX 平台上使用 `PlatformUserDefault` 選項時，必須將 XBOX 使用者識別碼 (XUID) 作為 `audioDeviceSelectionContext` 值傳遞。

## 需求

**標頭：** Party.h

## 另請參閱

[PartyLocalChatControl](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/partylocalchatcontrol.md)\
[PartyLocalChatControl::GetAudioInput](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/methods/partylocalchatcontrol_getaudioinput.md)\
[PartyLocalChatControl::SetAudioOutput](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/methods/partylocalchatcontrol_setaudiooutput.md)


## Related topics

- [PartyLocalChatControl::GetAudioInput](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/methods/partylocalchatcontrol_getaudioinput.md)
- [PartyLocalChatControl::SetAudioOutput](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/methods/partylocalchatcontrol_setaudiooutput.md)
- [PartyLocalChatAudioInputChangedStateChange](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/structs/partylocalchataudioinputchangedstatechange.md)
- [PartySetChatAudioInputCompletedStateChange](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/structs/partysetchataudioinputcompletedstatechange.md)
- [PartyAudioDeviceSelectionType](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/enums/partyaudiodeviceselectiontype.md)
