Wasapi Download 2021 Windows 10 Site
#include <windows.h> #include <mmdeviceapi.h> #include <audioclient.h> #include <audiopolicy.h> #include <iostream> #include <vector> #include <fstream> #pragma comment(lib, "ole32.lib") #pragma comment(lib, "avrt.lib")
return 0; cmake_minimum_required(VERSION 3.10) project(WASAPIRecorder) set(CMAKE_CXX_STANDARD 17) wasapi download windows 10
public: bool Initialize(bool captureLoopback = true) = AUDCLNT_STREAMFLAGS_EVENTCALLBACK; hr = pAudioClient->Initialize( AUDCLNT_SHAREMODE_SHARED, streamFlags, hnsRequestedDuration, 0, pwfx, NULL ); if (FAILED(hr)) return false; // Get buffer size hr = pAudioClient->GetBufferSize(&bufferFrameCount); if (FAILED(hr)) return false; // Create event handle hEvent = CreateEvent(NULL, FALSE, FALSE, NULL); if (hEvent == NULL) return false; hr = pAudioClient->SetEventHandle(hEvent); if (FAILED(hr)) return false; // Get capture client hr = pAudioClient->GetService(__uuidof(IAudioCaptureClient), (void**)&pCaptureClient); if (FAILED(hr)) return false; return true; #include <windows
class WASAPIRecorder private: IMMDeviceEnumerator* pEnumerator = nullptr; IMMDevice* pDevice = nullptr; IAudioClient* pAudioClient = nullptr; IAudioCaptureClient* pCaptureClient = nullptr; WAVEFORMATEX* pwfx = nullptr; HANDLE hEvent = nullptr; UINT32 bufferFrameCount = 0; std::ofstream outputFile; "ole32.lib") #pragma comment(lib