C中的Windows虚拟麦克风

时间:2012-08-03 05:11:36

标签: c windows api filtering portaudio

我刚才问了一个类似的问题,但我不太了解,所以我不够具体。

我想编写一个程序,从麦克风接收输入,处理它,然后将输出发送到假的“虚拟麦克风”,好像我创建的处理过的声音是麦克风听到的。然后,我希望能够将此虚拟麦克风与任何支持选择麦克风输入(几乎任何编写良好的软件)的应用程序一起用作有效麦克风。那么应用程序“听到”将是我处理的麦克风输入版本。

我正在使用C语言中的Portaudio,我可以从麦克风中捕获,处理并发送到扬声器就好了。现在我需要用虚假麦克风替换应用程序中的真实扬声器。 Windows似乎有一些API。 http://msdn.microsoft.com/en-us/library/windows/hardware/ff536201%28v=vs.85%29.aspx 所以我的接收引脚将是真正的麦克风,我将不得不创建一个应该对其他应用程序可见的新源引脚。我该怎么做呢?我很难找到代码示例,甚至找不到任何信息丰富的文档。

语言:C 操作系统:Windows 7

3 个答案:

答案 0 :(得分:4)

我认为这需要编写设备驱动程序,而不仅仅是使用Win32 API。

SuperUser上有一个类似的问题:How to create a virtual audio device and stream audio input with it。他们的解决方案是查看Virtual Audio Cable。但它不是免费的。

alternatives to Virtual Audio Cable,其中一个是JACK的Windows端口。

答案 1 :(得分:1)

可以使用Windows立体声混音。然后,您可以在环回模式下打开虚拟设备,并通过编程记录麦克风听到的内容

答案 2 :(得分:1)

您可能正在使用名为虚拟音频线的程序。免费软件包括最多3个vac-s。 之后,您可以使用mitov.com audiolab库通过其上传来的声音做任何您想做的事情。如果你想做一些DSP或其他什么