Команда терминала для установки громкости звука?

77

У меня есть внешняя звуковая карта, которая в основном работает нормально, за исключением того, что при первом подключении или при включении моего ноутбука объем устанавливается на 100%. То есть общий объем системы, как показано на индикаторе звука.

То, что я ищу, - это команда терминала, которая установит этот том на 50%, так что я могу запустить его при входе в систему и не беспокоиться о том, что первый звук, который я играю, будет пылать, если я забудьте уменьшить громкость. Какие команды позволяют вам изменять этот том, т. Е. Тот, который находится в индикаторе звука?

Я ткнул в gsettings и dbus, но не смог найти ничего, что позволило бы мне установить такой объем системы. Я знаю об alsamixer, но это не то решение, которое я ищу, поскольку это не позволяет мне изменять громкость с помощью индикатора звука или мультимедийных клавиш моего ноутбука.     

задан Marius 23.01.2012 в 23:37
источник

3 ответа

99

Части этого ответа взяты из Настройка громкости ввода микрофона с помощью команды line? , размещенный здесь для вашего удобства.

Увеличить объем на 5%

amixer -D pulse sset Master 5%+

Уменьшить громкость на 5%

amixer -D pulse sset Master 5%-

Установите громкость на 50%

amixer -D pulse sset Master 50%
  

Если вы используете ALSA, amixer может быть полезен для вашего скрипта   программирование.

     

При отбрасывании команды amixer --help в терминале вы увидите   что-то вроде этого:

     

     

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

     

     

В моем примере с моей основной звуковой картой (у меня есть 2: встроенный   и звуковая карта PCI), уровни от 0 до 100, таким образом я могу изменить   объем желаемого ввода / вывода на моей звуковой карте, отбросив   введите следующую команду:

amixer -c 0 set Front 50DB 
amixer -c 0 set Front 64DB 
     

В первой команде результат будет выдавать вывод на передней панели   78%, а второй - для выхода передней панели на 100%   уровень.      

Чтобы собрать информацию, относящуюся к вашим элементам управления микшером, отпустите   команда amixer без параметров, и вы получите список. Или   укажите, какое аудиоустройство вы хотите видеть список элементов управления с помощью    amixer -c X (где "X" - номер вашего аудиоустройства).

     

BTW: Помните, что значения DB вычисляются логарифмически, а не   линейно.

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

Удачи!

    
ответ дан Geppettvs D'Constanzo 24.01.2012 в 00:11
61

Вы можете сделать это с помощью самой PulseAudio (я не буду рекомендовать использовать ALSA, потому что вы не можете использовать графический интерфейс для увеличения или уменьшения громкости).

Используя pactl : вы можете установить тома для определенного устройства как следующим образом:

pactl set-sink-volume 0 +10%

Это увеличивает объем на 10%. Если вы хотите, чтобы он упал на 10%:

pactl set-sink-volume 0 -10%

Если вам нужен объем в 50%:

pactl set-sink-volume 0 50%

Если вам нужно качать все место:

pactl set-sink-volume 0 150%

Вы можете использовать проценты или целые числа, но целые числа медленны и, возможно, не ваша вещь.

pactl / pacmd (в отличие от amixer ) позволяет увеличить объем более 100%: -).

    
ответ дан Braiam 22.11.2013 в 14:27
21

amixer set 'Master' 10%+ - до увеличить максимальный звук 10%

amixer set 'Master' 10%- - до уменьшить максимальный звук 10%

amixer set 'Master' 10% - чтобы получить 10% от максимального звука

amixer set 'Master' 80% - чтобы получить 80% максимального звука

.. и т. д.

Если вы хотите установить том не на «Мастер», проверьте список:

amixer scontrols

Вы также можете проверить alsamixer и pacmd

    
ответ дан np8 22.11.2013 в 14:22