Опитвам се да напиша някакъв код за улавяне както на микрофона, така и на стерео микса с DirectShow филтри. Първо се опитвам да настроя филтрите с помощта на GraphEdit от Windows SDK. Настройвам устройствата за улавяне на микрофон и стерео микс, след което свързвам щифтовете за улавяне от двете към вход 01 и вход 02 на AVI Mux и след това свързвам щифта AVI Out към входния щифт на File Writer. Когато пусна графиката, получавам
Тази графика не може да се възпроизведе. Неопределена грешка (Код за връщане: 0x80004005)
Търсих тази грешка доста и изглежда не мога да намеря отговор.
Ако се опитам да ги свържа отделно към филтър WAV Dest за всеки от тях, получавам същата грешка. По някаква причина, която не мога да разбера, не ми позволява да заснема и двете. StereoMix емулира ли микрофона, когато снимам от него?
Ако се опитам да заснема от тях един по един, това работи, но трябва да заснема и от двете едновременно. Ако настроя микрофона да извежда към високоговорителите, тогава мога да записвам и двата, но това не ми помага наистина, защото потребителят може да се чуе в високоговорителите, което наистина може да бъде разсейващо.
Също така се опитах и успях да запиша loopback с WASAPI, но имам нужда от известна обратна съвместимост, тъй като записването на loopback с WASAPI работи само за Vista или Windows 7.
Разгледах PortAudio
и FFmpeg
, но не мога да си позволя да усложнявам програмата повече, отколкото вече е. Какво трябва да направя?