17

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

4 ответа4

28

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
5

Создайте файлы 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 от Sibo Lin об этом указывает на то, что приглушение звука ненадежно, но изменение громкости может быть не таким надежным. Я подозреваю, что уровень надежности может быть разным на разных машинах. В этом подходе используется технология имитации нажатия клавиш, в частности, клавиши регулировки громкости на улучшенной мультимедийной клавиатуре. В то время, когда Windows начала поддерживать это, такая клавиатура была в основном мало используемой несерьезной функцией, которая предлагала функциональность, которая ранее была доступна только с пользовательскими драйверами. Меня не удивило бы, если бы этот код был менее отточенным и менее вероятным, чтобы работать на некоторых различных (возможно, более старых) аппаратных средствах, которые там есть. Все это говорит, у меня не было проблем с этим сам.

Кредиты:

Одно предостережение: этот вопрос был помечен Windows XP. Я только что попробовал это в Windows 10. Я знаю, что использовал это в Windows 7 (по крайней мере, достаточно, чтобы проверить это). Когда я впервые начал видеть встроенную поддержку Microsoft для этих улучшенных клавиатур во времена Windows ME, я думаю, что это, вероятно, будет хорошо работать и в WinXP. Я не помню, тестировал ли я это с этой операционной системой. Тем не менее, если этот подход не работает, я не ожидаю, что он вызовет проблемные побочные эффекты.

4

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

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

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

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

2

Вследствие и дальнейшего упрощения 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%)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .