C ++ / W32 – 录制声音,直接显示或WaveInOpen?

思考WinXP,Vista,Win7 ++时应该select什么:

  • 用Direct Show / Direct …录制audio

  • 去经典WaveInOpen(我见过有人说,这将在W7 / W8发生 – 可能吗?)

PS。 我需要一个callback函数,将缓冲区传递给编码器。

谢谢!

WaveIn易于使用,网络上有大量的示例代码,并以您需要的方式为您提供回调。

DirectSound使用循环缓冲区,设置起来可能有点麻烦,而且很可能需要关注循环缓冲区而不是“只填充缓冲区”。 然而,DirectSound可以让你更好地控制音频,也就是稍稍延迟一点。

国际海事组织(IMO)认为,微软将永远不会弃用/删除Wave API。 他们会打破数千个应用程序。 我其实不认为MS曾经从Windows删除过一个核心API。

所以我会去简单的Wave API。