windows 音量设置mic输入“级别”中的坑(UAC开发)

最近在搞uac设备,客户给提了个需求,要求windows设置麦克风输入音量时要不进行音量操作保持音量不变。我当时就想“我根本就没开volume功能啊,这不是windows系统操作的么?”

后来研究发现,还真没这么简单。

windows10可以支持(USB audio)uac2.0 uac1.0版本,但是2.0不支持volume功能持。所以,如果我们在录音场景(录音机录音,会议软件通话,语音输入等)使用windows10的麦克音量设置时,实际上是麦克采集到的原始数据之后,windows在进行数字层面的放大、缩小。

但是,如果输入麦克是带有volume功能的uac1.0设备时,此选项是是通过标准uac的volume设置uac设备的输出音量,而不是收到的音量。这就是为什么在一些商业windows通话场景,需要uac设备开启volume功能,并将volume功能设置为空。防止windows改动音频数据导致通话时对方听到的全是爆音或者静音。