enum-wasapi.hpp 766 B

1234567891011121314151617181920212223242526272829303132333435
  1. #pragma once
  2. #define WIN32_MEAN_AND_LEAN
  3. #include <windows.h>
  4. #include <mmdeviceapi.h>
  5. #include <audioclient.h>
  6. #include <propsys.h>
  7. #ifdef __MINGW32__
  8. #ifdef DEFINE_PROPERTYKEY
  9. #undef DEFINE_PROPERTYKEY
  10. #endif
  11. #define DEFINE_PROPERTYKEY(id, a, b, c, d, e, f, g, h, i, j, k, l) \
  12. const PROPERTYKEY id = { { a,b,c, { d,e,f,g,h,i,j,k, } }, l };
  13. DEFINE_PROPERTYKEY(PKEY_Device_FriendlyName, \
  14. 0xa45c254e, 0xdf1c, 0x4efd, 0x80, \
  15. 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 14);
  16. #else
  17. #include <functiondiscoverykeys_devpkey.h>
  18. #endif
  19. #include <vector>
  20. #include <string>
  21. struct AudioDeviceInfo {
  22. std::string name;
  23. std::string id;
  24. };
  25. std::string GetDeviceName(IMMDevice *device);
  26. void GetWASAPIAudioDevices(std::vector<AudioDeviceInfo> &devices, bool input);