Table of Contents

bool __cdecl AK::GetWindowsDevice ( AkInt32  in_index,
AkUInt32 out_uDeviceID,
IMMDevice **  out_ppDevice,
AkAudioDeviceState  uDeviceStateMask = AkDeviceState_All  
)

Get the Audio Endpoint for the specified device index. Call repeatedly with index starting at 0 and increasing to get all available devices, including disabled and unplugged devices, until the false is returned. You can also get the default device information by specifying index=-1. The default device is the one with a green checkmark in the Audio Playback Device panel in Windows. The returned out_uDeviceID parameter is the Device ID to use with Wwise. Use it to specify the main device in AkPlatformInitSettings.idAudioDevice. The returned out_ppDevice is a pointer to a pointer variable to which the method writes the address of the IMMDevice. out_ppDevice is optional; if it is null, then no action is taken. If the method returns false, *out_ppDevice is null. If the method successed, *out_ppDevice will be a counted reference to the interface, and the caller is responsible for releasing the interface when it is no longer needed, by calling Release(), or encapsulating the device in a COM Smart Pointer.

Note:
CoInitialize must have been called for the calling thread. See Microsoft's documentation about CoInitialize for more details.
Returns:
Whether or not a device was found at the given index.
Parameters:
in_index  Index of the device in the array. -1 to get information on the default device.
out_uDeviceID  Device ID for Wwise. This is the same as what is returned from AK::GetDeviceID and AK::GetDeviceIDFromName. Use it to specify the main device in AkPlatformInitSettings.idAudioDevice.
out_ppDevice  pointer to a pointer variable to which the method writes the address of the IMMDevice in question.
uDeviceStateMask  Optional bitmask used to filter the device based on their state.