14 #include <mmdeviceapi.h> 15 #include <endpointvolume.h> 16 #include <Audioclient.h> 17 #include <functiondiscoverykeys_devpkey.h> 27 #define REFTIMES_PER_SEC 10000000 28 #define REFTIMES_PER_MILLISEC 10000 31 #define HANDLE_ERROR(hres) \ 32 if (FAILED(hres)) { goto Exit; } 33 #define SAFE_RELEASE(punk) \ 35 { (punk)->Release(); (punk) = NULL; } 43 const CLSID CLSID_MMDeviceEnumerator = __uuidof(MMDeviceEnumerator);
44 const IID IID_IMMDeviceEnumerator = __uuidof(IMMDeviceEnumerator);
45 const IID IID_IAudioClient = __uuidof(IAudioClient);
46 const IID IID_IAudioCaptureClient = __uuidof(IAudioCaptureClient);
50 REFERENCE_TIME requestDuration = REFTIMES_PER_SEC;
51 REFERENCE_TIME bufferDuration;
53 IMMDeviceEnumerator* pEnumerator = NULL;
54 IMMDeviceCollection* deviceCollection = NULL;
63 vector<Device*> getInputDevices();
64 vector<Device*> getOutputDevices();
69 void setActiveOutputDevice(
Device* device);
A audio class that captures system wide audio on Windows.
Definition: WindowsAudio.h:40
Defines a system audio device.
Definition: Device.h:20
An abstract class that defines the components of the particular OS specfic classes.
Definition: OSAudio.h:21