PartyLocalChatControl::SetAudioInput

Configures the preferred microphone or recording device that the chat control will use for audio input.

Syntax

PartyError SetAudioInput(  
    PartyAudioDeviceSelectionType audioDeviceSelectionType,  
    PartyString audioDeviceSelectionContext,  
    void* asyncIdentifier  
)  

Parameters

audioDeviceSelectionType   PartyAudioDeviceSelectionType

If PartyAudioDeviceSelectionType::None is specified, the audio input will be cleared. If PartyAudioDeviceSelectionType::SystemDefault is specified, the Party library will attempt to use the system's default communication device. If PartyAudioDeviceSelectionType::PlatformUserDefault is specified, the Party library will attempt to use the default communication device associated with audioDeviceSelectionContext. If PartyAudioDeviceSelectionType::Manual is specified, the Party library will attempt to use the communication device whose device identifier matches. Note that PartyAudioDeviceSelectionType::Manual is not supported on Android, iOS, or macOS.

audioDeviceSelectionContext   PartyString
optional

When using PartyAudioDeviceSelectionType::None or PartyAudioDeviceSelectionType::SystemDefault, audioDeviceSelectionContext will be ignored. When using PartyAudioDeviceSelectionType::PlatformUserDefault, audioDeviceSelectionContext must be the non-null, non-empty platform-specific user context that the chat control should use when selecting the audio device. When using PartyAudioDeviceSelectionType::Manual, audioDeviceSelectionContext must be the non-null, non-empty identifier of the audio device that the chat control should use.

asyncIdentifier   void*
optional

An optional, app-defined, pointer-sized context value that can be used to associate the completion state change with this call.

Return value

PartyError

c_partyErrorSuccess if the asynchronous operation to set the audio input began, or an error code otherwise. If this method fails, no related state changes will be generated. The human-readable form of the error code can be retrieved via PartyManager::GetErrorMessage().

Remarks

This method queues an asynchronous operation to configure the preferred recording device associated with this local chat control. If the method succeeds, a PartyLocalChatAudioInputChangedStateChange will be provided by PartyManager::StartProcessingStateChanges() with details about the input device status and a PartySetChatAudioInputCompletedStateChange will be provided upon completion of the operation, indicating success or failure. After completion, an additional PartyLocalChatAudioInputChangedStateChange will be provided each time the audio device status changes, such as due to device removal.

If the specified device isn't present, the chat control will subscribe to audio device changes and use the device when it does appear.

When using the PlatformUserDefault option on the Xbox platform, the Xbox User Identifier (XUID) must be passed as the audioDeviceSelectionContext value.

Requirements

Header: Party.h

See also

PartyLocalChatControl
PartyLocalChatControl::GetAudioInput
PartyLocalChatControl::SetAudioOutput