3

前段时间问了一个类似的问题,但我不是很了解,所以我无法足够具体。

我想编写一个程序,从我的麦克风中获取输入,对其进行处理,然后将输出发送到一个假的“虚拟麦克风”,就好像我创建的处理后的声音是麦克风听到的一样。然后,我希望能够将此虚拟麦克风与任何支持选择麦克风输入(几乎所有编写良好的软件)作为有效麦克风的应用程序一起使用。所以应用程序“听到”的将是我处理后的麦克风输入版本。

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

语言:C 操作系统:Windows 7

4

3 回答 3

5

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

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

虚拟音频电缆的替代品,其中之一是JACK的 Windows 端口。

于 2012-08-03T05:44:23.440 回答
3

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

于 2012-10-17T06:18:11.443 回答
1

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

于 2012-10-31T21:52:30.977 回答