win32输出字节作为声音输入

本文关键字:声音 输入 输出 字节 win32 | 更新日期: 2023-09-27 18:21:11

我对应用程序有一个疯狂的想法:有两个设备。一个设备将接收麦克风输入,通过网络将原始PCM字节发送到另一个设备,其上的应用程序将使设备认为这些声音来自麦克风。除了作为声音输入部分的馈送字节之外,我已经成功地编写了所有内容。

我在网上搜索了很长一段时间,但什么也找不到:看起来我不知道如何正确命名这个问题。

接收器是用本机C++编写的,带有用于GUI的C#WPF包装器。有人知道我可以通过Win32 API或.NET中的功能来解决这个问题的方法吗?

win32输出字节作为声音输入

您需要两样东西:

  1. 实现符合PortCI的驱动程序:请参阅http://msdn.microsoft.com/en-us/library/windows/hardware/ff536829(v=vs.85).aspx作为起点
  2. 在应用程序中使用此驱动程序执行您需要的任何音频功能

在步骤1中,您必须编写一个音频适配器驱动程序,该驱动程序将使用一些现有的内核驱动程序来处理网络适配器。顺便说一句,在这里,你必须注意不要从网络中"窃取"不需要的数据包。你必须想办法确定哪些数据包是音频数据包,哪些不是。也许在第一步中,你只使用一个专用的网络驱动程序。

建议在内核级别工作,以便操作系统将您的"自定义网络音频设备"视为音频设备。Windows提供了一个不错的API,可以将字节视为音频字节,并对其应用过滤器等(另请参阅http://msdn.microsoft.com/en-us/library/windows/hardware/ff538901(v=vs.85).aspx了解更多信息)