如何使用命令行控制 Windows 10 上的混音器?
How to control the Volume Mixer on Windows 10 using command line?
我希望能够在 Win10 机器上使用命令行(脚本)来静音、取消静音或更改显示在我的 Windows 音量混合器中的任何给定应用程序的音量级别。
经过相当长的一段时间的研究,我只找到了诸如 NirSoft 的 SoundVolumeView (https://www.nirsoft.net/utils/sound_volume_view.html) 之类的工具,但没有对这些工具的工作原理以及它们从何处获取信息并将其发送到何处的一般性解释。我认为有一种方法,毕竟有必须做某事的工具。
作为业余爱好编码员(Powershell、AHK),我假设我在搜索时使用了错误的关键字。如果有人能给我指出一些资源来解释如何做,而不是哪些工具可以做到,我会很高兴 - 谢谢。
今天使用的核心音频 API 是基于 COM 的。它存在于 Vista 及更高版本中。
您可以在 MSDN here. Larry Ostermans blog 上开始阅读它也很有用。
也就是说,Microsoft 不希望您以编程方式执行某些操作,例如更改默认音频输出设备。这意味着 Nirsoft 应用程序也在使用未记录的 COM 接口来执行其某些操作。
您可能想考虑用另一种语言对此进行编程,一种对 COM 更友好的语言...
来自同一品牌 NirSoft 的 Nircmd 是更适合您的解决方案。
nircmd.exe muteappvolume APPNAMEHERE 2
它有更多的命令,但这正是你要求的,我自己也在用。
它在 90% 的时间里都能正常工作,我仍在努力弄清楚为什么它对某些应用程序不起作用。
编辑:
如果您发现除此之外的任何其他内容,请分享。
我希望能够在 Win10 机器上使用命令行(脚本)来静音、取消静音或更改显示在我的 Windows 音量混合器中的任何给定应用程序的音量级别。
经过相当长的一段时间的研究,我只找到了诸如 NirSoft 的 SoundVolumeView (https://www.nirsoft.net/utils/sound_volume_view.html) 之类的工具,但没有对这些工具的工作原理以及它们从何处获取信息并将其发送到何处的一般性解释。我认为有一种方法,毕竟有必须做某事的工具。
作为业余爱好编码员(Powershell、AHK),我假设我在搜索时使用了错误的关键字。如果有人能给我指出一些资源来解释如何做,而不是哪些工具可以做到,我会很高兴 - 谢谢。
今天使用的核心音频 API 是基于 COM 的。它存在于 Vista 及更高版本中。
您可以在 MSDN here. Larry Ostermans blog 上开始阅读它也很有用。
也就是说,Microsoft 不希望您以编程方式执行某些操作,例如更改默认音频输出设备。这意味着 Nirsoft 应用程序也在使用未记录的 COM 接口来执行其某些操作。
您可能想考虑用另一种语言对此进行编程,一种对 COM 更友好的语言...
来自同一品牌 NirSoft 的 Nircmd 是更适合您的解决方案。
nircmd.exe muteappvolume APPNAMEHERE 2
它有更多的命令,但这正是你要求的,我自己也在用。
它在 90% 的时间里都能正常工作,我仍在努力弄清楚为什么它对某些应用程序不起作用。
编辑: 如果您发现除此之外的任何其他内容,请分享。