win32输出字节作为声音输入
win32 Output bytes as Sound Input
我对应用程序有一个疯狂的想法:有两个设备。一个设备将接收麦克风输入,通过网络将原始PCM字节发送到另一个设备,其上的应用程序将使设备认为这些声音来自麦克风。除了作为声音输入部分的馈送字节之外,我已经成功地编写了所有内容。
我在网上搜索了很长一段时间,但什么也找不到:看起来我不知道如何正确命名这个问题。
接收器是用本机C++编写的,带有用于GUI的C#WPF包装器。有人知道我可以通过Win32 API或.NET中的功能来解决这个问题的方法吗?
您需要两样东西:
- 实现符合PortCI的驱动程序:请参阅http://msdn.microsoft.com/en-us/library/windows/hardware/ff536829(v=vs.85).aspx作为起点
- 在应用程序中使用此驱动程序执行您需要的任何音频功能
在步骤1中,您必须编写一个音频适配器驱动程序,该驱动程序将使用一些现有的内核驱动程序来处理网络适配器。顺便说一句,在这里,你必须注意不要从网络中"窃取"不需要的数据包。你必须想办法确定哪些数据包是音频数据包,哪些不是。也许在第一步中,你只使用一个专用的网络驱动程序。
建议在内核级别工作,以便操作系统将您的"自定义网络音频设备"视为音频设备。Windows提供了一个不错的API,可以将字节视为音频字节,并对其应用过滤器等(另请参阅http://msdn.microsoft.com/en-us/library/windows/hardware/ff538901(v=vs.85).aspx了解更多信息)
相关文章:
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 2D数组来自文本输入,中间有空格
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 检查输入是否不是整数或数字
- 正在尝试了解输入验证循环
- 读取文件并输入到矢量中
- C++如何通过用户输入删除列表元素
- 用c++从输入文件中读取另一行
- 读取文件的最后一行并输入到链接列表时出错
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 如何使用用户输入在C++中正确填充2D数组
- C++MySQL C api用户输入行
- 输入到文件并输出到另一个文件,并将流文件传递给函数
- 用户定义函数中的指针和输入
- 如何在C++中检查2D数组中负值的输入验证
- 如何只允许用户输入正整数
- 在while循环中输入带有std::cin的字符串后,控制台会输出大量胡言乱语
- 输入中的字符串数未知(以字母表示)
- Xaudio2在更改缓冲区或循环时弹出声音
- win32输出字节作为声音输入