Изменить громкость звука Windows через командную строку


19

Можно ли изменить громкость в Windows XP через командную строку?


1
AutoHotkey может сделать это, что вы могли бы скомпилировать и вызвать из командной строки
Мэтью Локк

Нужен сторонний инструмент для настройки громкости. Я полностью боюсь.
m3nda

Ответы:


31

NirCmd это приложение, которое делает это и многое другое.

Пример использования:

  • Увеличить объем системы на 2000 единиц (из 65535)
    nircmd.exe changesysvolume 2000
  • Уменьшить системный объем на 5000 единиц (из 65535)
    nircmd.exe changesysvolume -5000
  • Установите громкость на максимальное значение
    nircmd.exe setsysvolume 65535
  • безгласный
    nircmd.exe mutesysvolume 1
  • Unmute
    nircmd.exe mutesysvolume 0

2
Хотелось, чтобы был стандартный метод Windows, но это выглядит очень удобно. Примите это, если никто не поставит один в следующий день или два. Спасибо Гарри.
Underskor

NirCmd выглядит очень круто и очень удобно. Спасибо за чаевые.
Проложить

NirCmd также отлично подходит для включения отключения звука ноутбука при каждом входе в систему - таким образом, он не будет случайно издавать «дин» звук в поезде (что я не замечаю из-за наушников до смущающего момента, когда кто-то раздражается достаточно указать на это .....)
RomanSt

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

Примечание: этот подход надежно работает на машинах, на которых я пытался его использовать. Ответ Хелен на вопрос 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после закрытия ]и перед финалом ).
ArtOfWarfare

7

Прочитав эти посты и посмотрев альтернативы, я решил написать свою собственную утилиту командной строки под названием SetVol, чтобы установить громкость. Он работает немного проще, чем описано в некоторых других постах на этой странице, вот несколько примеров, которые вы вводите в командной строке:

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

Есть и другие варианты. Я выпустил его как бесплатное программное обеспечение, и вы можете посетить www.rlatour.com/setvol для получения дополнительной информации и загрузки копии.

наслаждаться


Это великолепно. Большое спасибо за этот инструмент!
cssyphus

Благодарность!! Однако мне ДЕЙСТВИТЕЛЬНО это нужно для настройки громкости микрофона. (Я использую Java, но не ожидаю, что JavaSound сделает это.) Можно ли его добавить?
Стефан Рейх

Круто, спасибо! Функция Запрос на будущее: возможность вернуть текущий уровень громкости в виде errorlevel(так что я могу сохранить текущие настройки, чтобы позже восстановить его)
ashleedawg

1
Конечно, я могу сделать это - и на самом деле, только что сделал! Программа была обновлена ​​до версии 1.2 на веб-сайте, вам может потребоваться обновить браузер, чтобы увидеть изменения. Теперь есть новый parm 'report', который должен дать вам то, что вы хотите. Помощь на сайте и в приложении объясняет его использование. С Рождеством!
Роб

(что он говорит, верните текущий уровень громкости в соответствии с предложением ashleedawg)
Роб

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%)

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.