Win10 x64下USB-UAC虚拟麦克风的实现
2021-10-13
1715
0
对于虚拟的UAC设备,实现了虚拟的UAC扬声器,总是想着再一个USB虚拟的UAC麦克风。因为这样,才算完美。
本着完了完美的结果,自己又忍不住给自己找了一个活-USB虚拟麦克风
虚拟麦克风的大体开发和USB虚拟扬声器类似,只是一个是输入设备,另一个是输出设备而已。所以参考UAC规范,基于UAC虚拟扬声器的代码,我们做的更改如下:
- 修改配置描述符,主要是输出输出终端的描述符类型、UAC类特定音频流接口描述符的bTerminalLink字段和端点描述符的类型。
- 特定类请求的相应处理
- 将原来的同步方式的输出更改为输入。
对于UAC虚拟麦克风的演示,可以使用从应用层写入PCM数据到驱动,驱动再将数据交给虚拟的设备。这样在应用层通过监听该麦克风实现UAC虚拟扬声器的演示。
驱动编译虚拟麦克风的工程,生成的文件如下:
安装该驱动文件,然后在设备管理器中看到的设备如下:
在音频控制面板中的设备如下:
我们使用audacity工具截取一首歌的部分PCM数据并存储为二进制文件,然后在应用层通过读取该文件并定时间要求每隔10ms(可以稍快一点)定时写一包PCM数据,并监听该数据,这样可以通过系统自带的扬声器听到我们的写入的歌曲。
HID人机交互QQ群:564808376
UAC音频QQ群:218581009
UVC相机QQ群:331552032
BOT&UASP大容量存储QQ群:258159197
STC-USB单片机QQ群:315457461
USB技术交流QQ群2:580684376
USB技术交流QQ群:952873936