增加音量控制滑块的粒度、范围和曲率

Sup*_*est 11 audio windows-registry windows-7

USB扬声器(例如我的Logitech SBS-150,Logitech没有提供解决方案)和耳机存在一个常见问题 - 它们太大声。当您使用 Windows 音量控制滑块将它们设置为 1 时,它们仍然太大声(并且 1 和 100 之间确实没有太大区别),当然 0 没有声音,因此您被困在选择大声或不响亮完全没有声音。

上面似乎表明对数应用于滑块的线性 1-100 值,一次是 Windows,一次是扬声器,这导致曲线快速达到饱和。Windows 7 当然没有提供调整是否应用对数的方法。

另一个问题是当用户想要将音量提高到 100 以上时。(是的,是的,它可能会损坏您的扬声器,等等。无关紧要。)

如果我可以设置音量滑块上的每个点应该对应的值,而不是 Windows 本身应用日志函数,它似乎可以解决很多问题。(此时是否应用日志并不重要,因为您可以自己插入指数函数来否定日志。)

我找到的最接近的是这个页面,它准确地描述了我想要的东西,但不幸的是它只适用于 Windows XP 而不适用于 Windows 7;我无法在 Windows 7 中找到注册表项(不过,我可能只是看起来不够努力)。

同样有用的是Volumouse,它可以让您指定音量的步长 - 这可以轻松地让您将音量设置为 1 到 0 之间的一个点。这确实完成了至少让您降低音量的任务,但范围的 99%基本上还是没用的。此外,增加或减少步距不是您处理对数/指数响应曲线的方式。

所以问题是,我如何在 Windows 7 中执行上述注册表方法在 Windows XP 中的作用?注册表项在哪里?或者,Volumouse 如何将音量设置为任意值?

Jer*_*y W 4

如果您可以忍受命令行, NirSoft 的NirCmd提供了通过分贝指定音量的解决方案:

 nircmd.exe setsubunitvolumedb "Speakers" "Wave" -20
Run Code Online (Sandbox Code Playgroud)

请参阅 Nir​​关于该主题的博客。


此命令还将调整您的主系统音量

 nircmd.exe setsysvolume <0-65535>
Run Code Online (Sandbox Code Playgroud)

这个按照您定义的步骤向上或向下调整它:

 nircmd.exe changesysvolume [-]<0-65535>
Run Code Online (Sandbox Code Playgroud)