如何在 Windows 中控制(虚拟)音频设备的输入流?

Posted

技术标签:

【中文标题】如何在 Windows 中控制(虚拟)音频设备的输入流?【英文标题】:How can I take control of the input stream of a (virtual) audio device in windows? 【发布时间】:2020-05-15 07:41:06 【问题描述】:

我希望将我的音频作为输入发送到麦克风,然后其他应用程序可以通过它接收我的音频。

我找到的解决方案是:

    立体声混音。

    虚拟音频线。我只能通过 VAC INPUT 控制输入流。

这两种解决方案部分满足了我的要求。但是,我想要的是直接控制麦克风的输入流。

而且我认为可以通过提供像套接字这样的通信端点或提供编程 api 来手动设计 VMIC 的输入来实现这一点。是否有任何开源库支持这些功能?

我在google上找到了一个WO mic软件,好像只设置了一个虚拟麦克风,客户端软件可以将手机的音频发送到这个VMIC。它如何与驱动程序连接,是否可以通过我的程序或脚本发送我自己的音频?

更新: 我发现WO mic客户端(软件)和驱动程序之间的通信是基于IRP(由IRPmon检测),如何找出它使用的数据格式(如协议)(因此我可以编写自己的软件并重用它驱动程序)以及是否有任何具有此类规范的开源驱动程序记录在案?

【问题讨论】:

您最好许可现有的环回驱动程序之一。我不知道任何开源驱动程序。 【参考方案1】:

实际上,这些解决方案都没有“将音频发送到麦克风”。麦克风是一种音频输入(录音)设备,它只能产生音频信号/数据,不能接收。

提到的两种解决方案都添加了一个单独的音频输入/录制“环回”端点,可以代替真正的麦克风使用。如果您需要将来自麦克风的信号混合到这样的环回通道,则必须明确组织它。

“直接控制流”到底是什么意思?

【讨论】:

麦克风产生的音频应该在我的控制之下。例如,我可以使用自己的音频文件(任何音频源)。 我认为您的意思是“虚拟麦克风”。在这种情况下,您可以使用任何虚拟音频驱动程序解决方案(例如,Virtual Audio Cable (VAC)),并将任何音频信号/流发送(播放)到其播放端。

以上是关于如何在 Windows 中控制(虚拟)音频设备的输入流?的主要内容,如果未能解决你的问题,请参考以下文章

最实用的虚拟声卡-Windows安装虚拟声卡(有效解决PR音频输入,AU录音,obs多音频原控制等问题)

最实用的虚拟声卡-Windows安装虚拟声卡(有效解决PR音频输入,AU录音,obs多音频原控制等问题)

最实用的虚拟声卡-Windows安装虚拟声卡(有效解决PR音频输入,AU录音,obs多音频原控制等问题)

更改用 C# 编写的 tts 程序的输出设备在 Windows 10 中不起作用

Microsoft SysVAD 虚拟音频设备驱动程序 (SYSVAD)

设置音频端点设备应用程序特定(以编程方式)