起因
我时常认为QQ和微信通知的音量相比我正常听歌、观看视频的音量一直是过高的。正常我们可以使用 Windows 的音量合成器来单独调整每个程序的音量。但是,QQ不一样,不一样!你每次调完之后,过几个小时,它自己又会跳回100%,疑似是QQ音频流新建导致的调整失效。
搜寻一番后,发现可以用 wzv5/VolumeLock 这个项目来把指定进程的音量固定住。它会通过 Windows 的 Core Audio API 锁定进程音量。
下载 VolumeLock
有两种方式。
手动下载
打开项目的 Release 页面:
https://github.com/wzv5/VolumeLock/releases/latest
下载后解压,把 VolumeLock.exe 放到一个固定目录,例如:
1 | D:\Tools\VolumeLock\ |
后面创建的配置文件也要放在这个目录里。
使用 Scoop 安装
如果你已经在用 Scoop,也可以直接安装:
1 | scoop bucket add wzv5 https://github.com/wzv5/ScoopBucket |
创建 config.yaml
在 VolumeLock.exe 所在目录创建一个 config.yaml 文件
如果你是使用scoop安装,应该是在
1 | C:\Users\username\scoop\apps\volumelock\20220310 |
写入下面的内容:
1 | - |
这里的意思是:
- 使用
filename按文件名匹配程序。 - 把QQ和微信的音量锁定在 5。
VolumeLock的更多配置方法请到项目主页查看,这里只介绍QQ和微信的配置。
启动和测试
配置好之后,启动 VolumeLock.exe,查看音量合成器对应数值是否为5。
隐藏窗口和开机自启
这时你会发现它运行是有控制台窗口的,我们需要隐藏掉。
创建一个run.vbs文件
1 | Set WshShell = CreateObject("WScript.Shell") |
这里的 PATH\TO\VOLUMELOCK 替换成你 VolumeLock.exe 的目录,例如 D:\Tools\VolumeLock和 D:\Tools\VolumeLock\VolumeLock.exe。这样程序就可以静默在后台运行。
然后我们把 run.vbs 的快捷方式放到开机启动项里:
- 按
Win + R。 - 输入:
1 | shell:startup |
- 在打开的目录里放入
run.vbs的快捷方式。
这样登录 Windows 后,VolumeLock 就会自动后台运行,锁定音量。
以上。