通过命令行更改Windows音量


Answers:


31

NirCmd是执行此操作以及更多操作的应用程序。

使用示例:

  • 将系统体积增加2000单位(65535个)
    nircmd.exe changesysvolume 2000
  • 将系统体积减少5000个单位(在65535中)
    nircmd.exe changesysvolume -5000
  • 将音量设为最高值
    nircmd.exe setsysvolume 65535
  • 静音
    nircmd.exe mutesysvolume 1
  • 取消静音
    nircmd.exe mutesysvolume 0

2
希望有一种标准的Windows方法,但这看起来非常方便。如果第二天或第二天没有人提供一个,则将接受。谢谢,哈利。
underskor

NirCmd看起来非常酷而且非常方便。谢谢你的提示。

NirCmd还非常适合让笔记本电脑在每次登录时静音,这样一来,它就不会在火车上不停地发出“叮”的声音(我不会因为耳机而注意到它,直到有人烦恼的尴尬时刻为止。足以指出来.....)
RomanSt 2010年

2
显然,这在Windows 7上也适用,因为前面已经指出了一些已删除的非答案。
丹尼尔·贝克

为了简化起见,我编写了一个用户友好的交互式脚本,该脚本取决于nircmd

8

制作JavaScript文件:

echo var oShell = new ActiveXObject("WScript.Shell"); >> volup.js<BR>
echo oShell.SendKeys(String.fromCharCode(0xAF)); >> volup.js

echo var oShell = new ActiveXObject("WScript.Shell"); >> voldown.js<BR>
echo oShell.SendKeys(String.fromCharCode(0xAE)); >> voldown.js

echo var oShell = new ActiveXObject("WScript.Shell"); >> togglemute.js<BR>
echo oShell.SendKeys(String.fromCharCode(0xAD)); >> togglemute.js

显示音量控制,因此您可以看到自己在做什么:

sndvol
(or maybe sndvol32)

更改音量:

cscript voldown.js

注意:我已经在尝试使用此方法的机器上可靠地使用了此方法。 海伦对Sibo Lin的StackOverflow问题的回答表示静音是不可靠的,但是音量改变可能不那么可靠。我怀疑可靠性水平在不同的机器上可能会有所不同。这种方法使用的是模仿按键的技术,尤其是增强型媒体键盘上的音量控制键。Windows开始支持此功能时,这样的键盘基本上是一个很少使用的轻浮功能,提供了以前仅可用于自定义驱动程序的功能。如果这段代码不够精巧,并且不太可能在其中的各种(也许是较旧的)硬件上运行,这也不会令我感到惊讶。所有这些,我自己没有遇到麻烦。

学分:

一个警告:该问题已被Windows XP标记。我只是在Windows 10中尝试过。我知道我已经在Windows 7中使用过它(至少足以对其进行测试)。当我第一次看到Microsoft在Windows ME时代对这些增强型键盘的内置支持时,我认为在WinXP上这也可能很好地工作。我不记得我是否在该操作系统上进行了实际测试。不过,如果这种方法不能很好地发挥作用,我不希望它会引起不良的副作用。


感谢您分享这些键码!由于我的计算机已经安装了python,因此我可以在命令行上使用它:(pip install SendKeys用于模拟击键的纯Python包),然后是python -c "from SendKeys import playkeys; playkeys([(0xAE, True), (0xAE, False)])",它模拟一次按下并释放音量键的情况。要模拟100个不同的印刷机(例如),您可以* 100在闭幕之后]和final之前插入)
ArtOfWarfare

7

阅读这些文章并寻找替代方法之后,我决定编写自己的命令行实用程序SetVol来设置音量。它的工作原理比此页面上其他文章中描述的要简单一些,下面是您在命令提示符下输入的一些示例:

setvol 75
setvol -10
setvol +12
setvol mute
setvol unmute

也有其他选择。我已将其作为免费软件发布,欢迎您访问www.rlatour.com/setvol以获取更多信息并下载副本。

请享用


太好了 非常感谢这个工具!
cssyphus

谢谢!!但是,我真的需要这个来设置麦克风的音量。(我正在使用Java,但是我不希望JavaSound这样做。)可以添加它吗?
Stefan Reich

太棒了,谢谢你!将来的功能要求:能够将当前音量恢复为errorlevel(因此我可以保存当前设置以供以后恢复)
ashleedawg

1
当然可以,我确实可以做到!该程序已在网站上更新为1.2版,您可能需要刷新浏览器才能看到更改。现在有一个新的parm“报告”,应该为您提供所需的内容。网站和应用程序中的帮助说明了其用法。圣诞节快乐!
罗布

(表示按照ashleedawg的建议返回当前音量)
Rob

4

由于并进一步简化了Nircmd

@echo off
rem 65536 is 100%
rem device where zero is the default device
rem left and right
rem supports whole numbers only therefore throws "missing operator" error when specifying 655.36
set /a volume=%1 * 655
nircmd setvolume 0 %volume% %volume%

将其另存为.bat文件并通过传递参数执行

例如:sound 60将音量设置为60%

确保将bat文件放在nircmd旁边或中%windir%(或在中定义其文件夹%path%

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.