Управление громкостью звука при помощи горячих клавиш и из командной строки

Я буду выглядеть банально, если начну вам рассказывать, как удобно и приятно использовать горячие клавиши, как это экономит время и т.п. Если вы подошли к компьютеру не вчера, вы это знаете.

С тех пор, как в зоопарке моих компьтеров появился Linux, мне чертовски нравится возможность повесить произвольные сочетания клавиш на что угодно, в том числе на управление громкостью звука. В один прекрасный момент мне захотелось иметь что-то подобное на системах с Windows 7. Встроенные стредства этой ОС здесь не помогут, и если вы не обладаете мультимедийной клавиатурой, придется обратиться за помощью к сторонним утилитам. Я предлагаю воспользоваться утилитой NirCmd, главный плюс от этого - отсутствие постоянно висящих в памяти программ.

NirCmd - это очень мощная и функциональная консольная утилита, позволяющая автоматизировать и решать массу системных задач. Одна из возможностей - управление громкостью из командной строки. То, что доктор прописал.

Скачиваем NirCmd, и распаковываем её в какую-либо папку. У меня это традиционно c:\cmdtools.

Опции командной строки NirCmd  для управления громкостью

Для того, чтобы выключить/включить все звуки, используется такая команда:
[code]c:\cmdtools\nircmd.exe mutesysvolume 2[/code]При первом запуске звук выключается, при последующем - включается.

Для того, чтобы увеличить или уменьшить громкость звука, Nircmd поддерживает опцию вида:
[code]nircmd.exe changesysvolume Х[/code]Здесь Х - отрицательное или положительное число от нуля до 65535. Положительное число увеличивает громкость на X пунктов, а -Х - соответственно, уменьшает. Величину Х каждый может подобрать себе по вкусу, я остановился на 2000.

Таким образом, для управления уровнем громкости я воспользовался командами вида:

  • увеличить громкость
    [code]c:\cmdtools\nircmd.exe changesysvolume 2000[/code]
  • уменьшить громкость
    [code]c:\cmdtools\nircmd.exe changesysvolume -2000[/code]

Всё, что нужно знать, мы знаем, теперь назначим этим командам глобальные горячие клавиши.

Горячие клавиши для управления громкостью


Oперационные системы Windows используют назначенные ярлыкам в меню "Пуск" сочетания клавиш в качестве глобальных. Этой замечательной возможностью мы и воспользуемся.

  • Откройте меню "Пуск" в Проводнике. Проще всего это сделать щелкнув по кнопке "Все программы" правой кнопкой мыши и выбрать "Открыть"
  • Вы увидите папки главного меню, где находятся все его ярлыки. Ярлыки для управления звуком вы можете создавать в любой из этих папок, я предпочитаю создавать их в папке "Стандартные".
  • Создайте три ярлыка с командами
    [code]c:\cmdtools\nircmd.exe changesysvolume 2000
    c:\cmdtools\nircmd.exe changesysvolume -2000
    c:\cmdtools\nircmd.exe mutesysvolume 2[/code]
    Выглядеть это будет так:

  • Для каждого созданного ярлыка смените иконку и задайте сочетание клавиш:

Я назначил и использую такие сочетания клавищ:

  • CTRL+ALT+Num+ - увеличить громкость
  • CTRL+ALT+Num- - уменьшить громкость
  • CTRL+ALT+Num/ - отключить или включить звук

Как я сказал в начале статьи, плюсы такого подхода, что в памяти не висит никаких лишних приложений, Nircmd отрабатывает и закрывается, не тратя системных ресурсов.

Управление громкостью звуков с клавиатуры -это довольно удобно. А вы используете эту возможность? Расскажите в комментариях, как и какими утилитами при этом пользуетесь - возможно, ваш вариант куда более практичен, чем мой. Обмен опытом - отличная штука, знаете ли.

42 ответа к “Управление громкостью звука при помощи горячих клавиш и из командной строки”

  1. У меня самого та же самая проблема. Если найду решение — сразу отпишусь и там, и здесь

  2. решение вашей проблемы — volumouse. Успехов!

  3. @Андрей , учитесь читать

    Я предлагаю воспользоваться утилитой NirCmd, главный плюс от этого — отсутствие постоянно висящих в памяти программ.

    главный плюс от этого — отсутствие постоянно висящих в памяти программ

    отсутствие постоянно висящих в памяти программ

    Впрочем, Volumouse — отличная программа, как и все утилиты NirSoft. Но это тема для отдельной статьи. Которая, кстати, здесь раньше была 🙂

  4. Андрей :
    решение вашей проблемы – volumouse. Успехов!

    Да? И как с её помощью и боковых кнопок мне управлять громкостью?

  5. Полагаю, господин Андрей предполагал использование третьей беты Volumouse2, где в расширенных настрокйках можно задействовать дополнительные кнопки мыши

  6. Задействовать то их можно, но в сочетании с прокруткой колеса. Или я чего не понимаю?
    Да и, наверное, только в XP, в 7 не работают.

  7. @yuricxn , спасибо за теплый отзыв SimpleSndVol . Я рад, что вам нравится моя поделка 🙂

  8. Блин уже четвёртый день парюсь, купил мышку у неё сбоку две кнопки X1 X2 это навигация браузера (Назад/Вперед) Была до этого мышка и у неё это были кнопки громкости системы! Причем работали так как клавиши(Зажмёшь а через 0.75 секунды автоповтор каждые 50 мс)
    Блин как не пытался, не смог переназначить через AutoHotkey(люблю его)!
    Дело в том что AutoHotkey командой SoundSet не меняет общую громкость системы в Win7x64! При изменении громкости в микшере винды появляется свой канал громкости для AutoHotkey!
    На сайте написано что во избежание этого надо поставить совместимость с XP для AutoHotkey!
    Я ставил, -но тогда вообще накакая громкость не меняется!
    Скачал родную прогу для переназначения кнопок мыши Quick Point (Мышь Defender)
    Она падла громкость то меняет но автоповтора нажатия нет, и окно сраное Появляется каждый раз при загрузке Windows(зачем спрашивается!!!) хотя прога и в трее висит!
    Качал другие проги но не нашел быстрой легковесной и при этом видящей кнопки X1 и X2!

    Увидел эту статью, И -о спасение сработало!
    Короче связкой AutoHotkey и NirCmd вышло прекрасно!
    (AutoHotkey у меня просто всегда резидентом висит в памяти, много для чего используется)

    Закинул nircmd.exe в папку AutoHotkey!
    И вот мой кусок кода дефолтного файла AutoHotkey.ahk

    VDPRESSED = 0
    VUPRESSED = 0
    VOLLEVEL = 2000 ; Изменяемый уровень громкости
    VOLDELAY = 50

    ; Кнопка X1 убавить
    XButton1::
    VDPRESSED = 1
    Run, nircmd.exe changesysvolume -%VOLLEVEL%
    Loop 10 ; Сколько раз по 50 мс первая задержка после нажатия
    {
    Sleep %VOLDELAY%
    if VDPRESSED = 0
    return
    }

    Loop
    {
    if VDPRESSED = 0
    return
    Run, nircmd.exe changesysvolume %VOLLEVEL%
    Sleep %VOLDELAY%
    }
    return

    ; Кнопку отпустили, -прекратить убавление
    XButton1 UP::
    VDPRESSED = 0
    return

    ; Кнопка X2 прибавить
    XButton2::
    VUPRESSED = 1
    Run, nircmd.exe changesysvolume %VOLLEVEL%
    Loop 10
    {
    Sleep %VOLDELAY%
    if VUPRESSED = 0
    return
    }
    Loop
    {
    if VUPRESSED = 0
    return
    Run, nircmd.exe changesysvolume %VOLLEVEL%
    Sleep %VOLDELAY%
    }
    return

    ; Кнопку отпустили, -прекратить прибавление
    XButton2 UP::
    VUPRESSED = 0
    return

    Почему я использую цикл (Loop 10) а не просто Sleep 500
    А потому что пользователь(и я в том числе) может нажать, отпустить и резко нажать
    ещё раз кнопку, а тогда считается что она не отпускалась,
    а в моём случае скрипт успевает увидеть что кнопка отпущена, как бы быстро её не нажимали!

    Незнаю мошь кому полезно будет! Спасибо автору за обзор насчет проги!

    :-)))

    1. Я рад, что статья нашла своего читателя.

    2. Все проще: AHK назначить хоткею сканкод медиаклавиши, например, комбинация ctrl+F1 уменьшит звук: ^F1:vkae

      1. Таким образом 2-мя короткими строчками получаем что надо безо всяких программ. (AHK у него уже есть).
        Разумеется повесить можно на любое сочетание клавиш
        ^F1::vkae
        ^F2::vkaf

        1. И на боковые кнопки мыши, только надо узнать их скан-код

  9. Написано витиевато, хочется так же ответить, но мне не попадалось ни одной утилиты, которая бы регулировала уровни входящего сигнала. В теории, её можно написать. Не хотите попробовать? Обзор гарантирую, ибо будет вполне себе уникальное приложение.

  10. Спасибо большое автору за статью, очень пригодилась!

    1. Автор рад, что статья оказалась полезной 🙂

  11. Подскажите пожалуйста, для настройки яркости экрана можно использовать эту схему? И если можно, то как? Помогут ли приведенные команды? (в программировании ничего не понимаю, поэтому заранее прошу прощения, если вопрос абсурден)

    c:\cmdtools\nircmd.exe changesysbrightness 2000
    c:\cmdtools\nircmd.exe changesysbrightness -2000
    c:\cmdtools\nircmd.exe mutesysbrightness 2

    1. вопрос не абсурден
      эту схему можно использовать для управления яркостью.
      Согласно документации:

      The [level] parameter is brightness value between 0 and 100

      параметры у вас должны быть такими:
      c:\cmdtools\nircmd.exe changebrightness 10
      c:\cmdtools\nircmd.exe changebrightness -10

      Третий ярлык не нужен.
      Согласно автору, смена яркости поддерживается только на ноутбуках и других портативных устройствах.
      Обычно такие устройства уже снабжены соответствующими кнопками или сочетаниями клавиш Fn+что-то. (Например, мой ноутбук умеет управлять яркостью через сочетания Fn+F2/Fn+F3)
      Если у вас компьютер — не ноутбук, есть вероятность, что у вас не получится управлять яркостью программно.

  12. Благодарю за оперативный и полный ответ.

  13. Да не за что, собственно. Я лишь процитировал разработчика 🙂

  14. Здравствуйте.Настроил управление громкостью через командную строку(у меня обычная клавиатура)все прекрасно работает!Не регулируется громкость при просмотре фильмов онлайн через браузер,в проигрывателях при полноэкранном режиме.Есть решение?Спасибо

  15. харошый способ, но есть один недостаток, к сажелению в играх он не работает… ((

    1. В играх придется использовать что-то стороннее, с глобальными горячими клавишами.

  16. Все бы ничего, только это не работает при полноэкранном видео и приложениях. Полезности этому 10%

  17. Добрый день! Спасибо большое за статью! Прошу Вашей помощи. Скачала программу NirCMD, распаковала в папку. Делаю ярлык, а мне выдаёт это http://www.imageup.ru/img299/1915379/i.jpg Почему так, непонятно. Помогите, пожалуйста, разобраться. Заранее спасибо.

    1. Здравствуйте.
      Кавычки закройте после .exe, а не после 2000.

  18. Огромное спасибо за статью. Очень помогла) Всё это время мучался с регулировкой звука в системе, и вот наткнулся на эту статью! Теперь наконец-то можно спокойно менять громкость прямо во время работы с приложением)))

    1. Я рад, что статья оказалась вам полезной.

  19. Программу volumouse я попробовал, для 64битных систем плохое решение, кроме того срабатывает плохо, при полноэкранных играх например не работает. Это решение лучше. Спасибо автору.

  20. добрый день, у меня проблема, все сделал как сказано, все работает(увеличение громкости, уменьшение, и выключение звука), но как только хочу применить данные команды из запущенный игры не работает.(использую сочетание клавиши «ctrl+ num +» и «ctrl + num -«. ОС Windows 7 64х

  21. Хорошая штука,жаль только задержка большая.

  22. В полноэкранном режиме игры не работает, в системе — да. Как быть?

    1. Штатными средствами ОС ничего сделать, к сожалению, нельзя.

  23. Попробовал, меня устроило. Спасибо за обзор. Жаль, что при зажатии кнопки не работает как непрерывное изменение.

    1. Да, мне тоже это не очень удобным кажется.

  24. все сделал, но все равно то срабатывает , то нет. С чем связано?
    Windows 8

Обсуждение закрыто.

css.php