【发布时间】:2013-07-04 06:53:33
【问题描述】:
我有一个应用程序的疯狂想法:会有两个设备。一台设备会接受麦克风输入,通过网络将原始 PCM 字节发送到另一台设备,并且其上的应用程序会使设备认为这些声音来自麦克风。除了作为声音输入部分的馈送字节之外,我已经设法编写了所有内容。
我已经在网上搜索了很长时间,但我找不到任何东西:看起来我不知道如何正确命名问题。
接收器是用原生 C++ 编写的,带有用于 GUI 的 C# WPF Wrapper。有谁知道我可以通过 Win32 API 解决这个问题的方法,或者 .NET 中可能有这样的功能?
【问题讨论】:
-
通过“作为声音输入部分的馈送字节”很难准确说出您想要什么:(a)从麦克风获取 PCM 输入(即原始“字节”数据); (b) 通过网络发送数据; (c) 在另一台电脑上播放; (d) 在远程计算机上制作一个麦克风设备来播放字节......?
-
(d) 是我想要的。我已经成功地从一台计算机获取 PCM 字节,通过网络将其发送到第二台计算机,但是,我不知道如何使该声音显示为第二台计算机的麦克风输入。
-
在这种情况下,您可能需要使用内核驱动程序 (?) 创建麦克风设备或使用Windows Core Audio APIs 之一
-
我在寻找适合我需要的 Windows Core Audio API,但我之前和现在都找不到任何有用的东西(也许我错过了什么?)。至于司机......我想这超出了我的范围:/。
-
@Sunius 当您说“声音显示为第二台 PC 的麦克风输入”时,通过扬声器播放 RAW PCM 就足够了,或者您是否有其他原因想要“伪造”麦克风。