UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
WasapiDeviceEnumeration.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "AudioCaptureCore.h"
6
9
11
13#include <AudioClient.h>
14#include <Mmdeviceapi.h>
16
19
20
21namespace Audio
22{
27 {
28 public:
54
57
59 void Initialize();
60
65
75
85
95
103
112
113 private:
115 FString DefaultRenderId;
117 FString DefaultCaptureId;
119 TComPtr<IMMDeviceEnumerator> DeviceEnumerator;
120
122 void EnumerateDefaults();
123
125 bool GetDeviceProperties(TComPtr<IMMDevice> InDevice, FDeviceInfo& OutInfo);
126
128 bool GetDeviceId(TComPtr<IMMDevice> InDevice, FString& OutString);
129
131 bool GetDeviceFriendlyName(TComPtr<IMMDevice> InDevice, FString& OutString);
132
135
141 bool GetAudioClientMixFormat(TComPtr<IAudioClient3> AudioClient, WAVEFORMATEX** OutFormat);
142 };
143
144}
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define THIRD_PARTY_INCLUDES_START
Definition GenericPlatformCompilerPreSetup.h:63
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition WasapiDeviceEnumeration.h:27
FString GetDefaultInputDeviceId()
Definition WasapiDeviceEnumeration.cpp:78
bool GetIMMDevice(const FString &InDeviceId, TComPtr< IMMDevice > &OutDevice)
Definition WasapiDeviceEnumeration.cpp:172
bool GetDeviceIdFromIndex(int32 InDeviceIndex, EDataFlow InDataFlow, FString &OutDeviceId)
Definition WasapiDeviceEnumeration.cpp:104
bool GetDeviceIndexFromId(const FString &InDeviceId, int32 &OutDeviceIndex)
Definition WasapiDeviceEnumeration.cpp:130
bool GetDeviceInfo(const FString &InDeviceId, FDeviceInfo &OutDeviceInfo)
Definition WasapiDeviceEnumeration.cpp:88
bool GetInputDevicesAvailable(TArray< FDeviceInfo > &OutDevices)
Definition WasapiDeviceEnumeration.cpp:186
void Initialize()
Definition WasapiDeviceEnumeration.cpp:23
FString GetDefaultOutputDeviceId()
Definition WasapiDeviceEnumeration.cpp:83
Definition Array.h:670
Definition COMPointer.h:19
NO_LOGGING.
Definition AudioMixerPlatformAndroid.cpp:53
Definition Voronoi.cpp:10
Definition WasapiDeviceEnumeration.h:33
FString DeviceId
Definition WasapiDeviceEnumeration.h:40
uint32 NumOutputChannels
Definition WasapiDeviceEnumeration.h:46
uint32 NumInputChannels
Definition WasapiDeviceEnumeration.h:44
EEndpointType EndpointType
Definition WasapiDeviceEnumeration.h:52
uint32 PreferredSampleRate
Definition WasapiDeviceEnumeration.h:50
uint32 BitsPerSample
Definition WasapiDeviceEnumeration.h:48
FString FriendlyName
Definition WasapiDeviceEnumeration.h:42
EEndpointType
Definition WasapiDeviceEnumeration.h:37