我正在尝试编写一些代码来使用 DirectShow 过滤器捕获麦克风和立体声混音。首先,我尝试使用 Windows SDK 中的 GraphEdit 设置过滤器。我将捕获设备设置为麦克风和立体声混音,然后将两者的捕获引脚连接到 AVI 多路复用器的输入 01 和输入 02,然后将 AVI 输出引脚连接到文件写入器的输入引脚。当我运行图表时,我得到
此图无法播放。未指定的错误(返回代码:0x80004005)
我已经对这个错误进行了相当多的搜索,但似乎找不到答案。
如果我尝试将它们分别连接到每个 WAV Dest 过滤器,我会得到相同的错误。出于某种我无法理解的原因,它不会让我同时捕获两者。当我从麦克风中捕捉时,StereoMix 是否在模拟麦克风?
如果我尝试一次从他们那里捕获一个,它会起作用,但我需要同时从两者中捕获。如果我将麦克风设置为输出到扬声器,那么我可以同时录制它们,但这并没有真正帮助我,因为用户可以在扬声器中听到自己的声音,这真的会分散注意力。
我也尝试并成功使用 WASAPI 记录环回,但我需要一些向后兼容性,因为使用 WASAPI 记录环回仅适用于 Vista 或 Windows 7。
我已经调查过了PortAudio
,FFmpeg
但我不能让程序变得比现在更复杂。我应该怎么办?