#pragma once #define WIN32_MEAN_AND_LEAN #include #include #include #include #ifdef __MINGW32__ #ifdef DEFINE_PROPERTYKEY #undef DEFINE_PROPERTYKEY #endif #define DEFINE_PROPERTYKEY(id, a, b, c, d, e, f, g, h, i, j, k, l) \ const PROPERTYKEY id = { { a,b,c, { d,e,f,g,h,i,j,k, } }, l }; DEFINE_PROPERTYKEY(PKEY_Device_FriendlyName, \ 0xa45c254e, 0xdf1c, 0x4efd, 0x80, \ 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 14); #else #include #endif #include #include struct AudioDeviceInfo { std::string name; std::string id; }; std::string GetDeviceName(IMMDevice *device); void GetWASAPIAudioDevices(std::vector &devices, bool input);