Я пытаюсь написать код для захвата микрофона и стереофонического микса с фильтрами DirectShow. Сначала я пытаюсь настроить фильтры с помощью GraphEdit из Windows SDK. Я устанавливаю устройства захвата на микрофон и стереомикшер, затем подключаю контакты захвата обоих устройств к входам 01 и 02 мультиплексора AVI, а затем подключаю контакт AVI Out к входу устройства записи файлов. Когда я запускаю график, я получаю
Этот график не может воспроизводиться. Неопределенная ошибка (Код возврата: 0x80004005)
Я искал эту ошибку совсем немного, и я не могу найти ответ.
Если я попытаюсь подключить их отдельно к фильтру WAV Dest для каждого из них, я получаю ту же ошибку. Почему-то не могу понять, не дает заснять оба. Эмулирует ли StereoMix микрофон при захвате с него?
Если я попытаюсь захватить их по одному, это сработает, но мне нужно захватить оба одновременно. Если я настрою микрофон на вывод на динамики, то смогу записать оба из них, но это мне не очень поможет, потому что пользователь может слышать себя в динамиках, что действительно может отвлекать.
Я также пытался и преуспел в записи петли с помощью WASAPI, но мне нужна некоторая обратная совместимость, поскольку запись петли с помощью WASAPI работает только для Vista или Windows 7.
Я изучил PortAudio
и FFmpeg
, но я не могу позволить себе усложнять программу больше, чем она уже есть. Что я должен делать?