更改键盘音量键控制的音频设备

BLA*_*ARG 5 audio keyboard media hotkeys windows-10

我的Voicemeeter Banana正常运行,这意味着它是我在独占模式下的默认音频设备,因此我的大部分声音都通过它路由。这让我可以很好地控制系统中的音频设备,无论是虚拟的还是硬件的。

我经常使用键盘上的音量键。当我使用 Voicemeeter 时,音量键会调整“Voicemeeter 输入”,它根本不会通过我的耳机改变音量。因此,要更改我的 USB 耳机中的音量,我必须进入 Windows 音量混合器,并在那里调整设备的主控,或者在语音测量仪中进行调整。我更喜欢使用窗口调整,它从 0 到 100 以 2 为增量,而语音仪表从 -60dB 到 +12dB。另外,windows 有一个显示音量级别的小弹出窗口,voicemeeter 没有。我的最大音量设置为我的 USB 耳机的音量,这意味着我必须将耳机调到最大,并控制语音测量仪的味道。当我不注意语音仪表时,这很危险,并且不小心以最大音量播放某些内容(痛苦,不好玩)。

Voicemeeter 允许我将音量键连接到分配给我的 USB 耳机的输出,但随后我遇到了必须调整 voicemeeter 的问题。

我希望能够更改我的键盘音量键控制的音频设备。

现在我知道这在某种程度上是可能的,因为我的 USB 耳机(没有特殊的驱动程序)有音量按钮,可以在驱动程序级别调整 USB 耳机的级别,而不是我的默认设备“Voicemeeter 输入”,而我的键盘键调整级别“语音输入”

我的键盘和耳机正在发送什么命令?有没有办法查到?两者都没有使用特殊的驱动程序。我可以更改这些命令吗?或者至少改变我的系统对它们的反应?

理想的情况是能够设置音量键以更改“USB 音频设备”的级别,同时忽略默认设备“VoiceMeeter 输入”

我找到了微软关于音量控制的文档,但我无法理解它。如果我知道要寻找什么,也许答案就在这里。

BLA*_*ARG 2

我找到了解决办法!我使用了 nircmd 和 autohotkey 的组合。

我使用 Nircmd 来控制设备特定的音量,并使用 autohokey 来控制宏。

这是我的脚本:

Volume_Up::
    Run, nircmd.exe changesysvolume 1000 USBSpeakers 4
Return

Volume_Down::
    Run, nircmd.exe changesysvolume -1000 USBSpeakers 4
Return
Run Code Online (Sandbox Code Playgroud)

非常简单,但是 nircmd 命令需要一些技巧,因为我必须将我的设备重命名为 USBSpeakers,并且“4”是必需的,但不是非常明显,所以有一些尝试和错误。

我尝试了自动热键的内置音量控制,但我无法让它在默认设备之外的任何设备上工作。

我将尝试进一步完善这个解决方案,因为我目前正在使用 3 个不同的程序,理想情况下我只想使用 voicemeeter。