Я довольно новичок в WASAPI, и я пытаюсь написать программу на C ++, которая просматривает аудиопоток на основном устройстве воспроизведения и выполняет FFT для каждого фрагмента через fftw3, что-то делает с результатом и отбрасывает блок , Каждый пример, который я смог найти на WASAPI и fftw3, включает в себя запись в файл и затем открытие этого файла. Можно ли обрабатывать куски WAVE напрямую?
Захват аудио WASAPI обычно заполняет буферы памяти «только что захваченными» аудиоданными и передает их обратно в управляющее приложение. «Без записи в файл» — так все и работает. Это требует дополнительных усилий для записи данных в мультимедийный файл со сжатием или без него.
Вы можете быть заинтересованы в следующем Образцы Windows SDK:
Оба показывают, как данные перемещаются из API через буферы памяти в файлы. Вы можете применить БПФ в тот момент, когда у вас есть данные, полученные из API, прежде чем они перейдут к файлам в примерах.
Других решений пока нет …