Изменить громкость звука 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.