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

Мне нужно отключить / включить звук из командной строки. Я узнал, что могу это сделать с помощью:

amixer sset Master mute
amixer sset Master unmute

, проблема в том, что команда unmute не работает (как описано в этом отчете об ошибке: https: //bugs.launchpad .net / ubuntu / + source / alsa-utils / + bug / 878986 )

Мой вопрос: есть ли другой способ получить тот же результат, что amixer не работает?

Кроме того, если я вручную установил уровень громкости, а затем вызовет

amixer sset Master 100%

, громкость увеличивается, но не переключается на максимум, даже если в stdout указано:

Simple mixer control 'Master',0
Capabilities: pvolume pswitch pswitch-joined penum
Playback channels: Front Left - Front Right
Limits: Playback 0 - 31
Mono:
Front Left: Playback 31 [100%] [0.00dB] [on]
Front Right: Playback 31 [100%] [0.00dB] [on]

Может ли кто-нибудь помочь мне с этим?

5
задан 17 November 2011 в 01:39

8 ответов

Попробуйте выполнить следующие команды в терминале

amixer -c 0 set Master playback 0% mute
amixer -c 0 set Master playback 100% unmute

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

5
ответ дан 25 May 2018 в 17:02

Еще лучше - отключить все аудиоустройства. и установите громкость на 70%

for x in `amixer controls  | grep layback` ; do amixer cset "${x}" on ; done


for x in `amixer controls  | grep layback` ; do amixer cset "${x}" 70% ; done

в примере выше HDMI и оптический не отключен.

14
ответ дан 25 May 2018 в 17:02
  • 1
    Благодарю. Команды в других ответах, такие как «amixer -c 0 set Master playback 100% unmute» или «amixer set Master unmute», не работали для меня (даже если я отключен через «amixer set Master mute»). – djb 2 April 2014 в 21:03

Получить все источники звука, получить их имена, сформировать командную строку с amixer и выполнить ее

amixer scontrols | grep -oE "'.*'" | awk -F\' \
 '{print "amixer -c 0 set \""$2"\" unmute 100"}' | sh

Включить все аудиоустройства и установить их громкость на максимум

Have отличный, Майк

3
ответ дан 25 May 2018 в 17:02

Решение Mark Rooney не сработало для меня, но я смог обойти это, явно отключив все каналы.

#!/bin/bash

for i in Master Headphone PCM Front Surround Center LFE Side; do
    amixer -c 0 set "$i" playback unmute
done &>/dev/null

Я получил имена каналов, но запускал alsamixer. [ ! d1]

2
ответ дан 25 May 2018 в 17:02

Хорошо, сначала вам нужно узнать свои разные номера карт из

alsamixer

выбрать карты из F6 и отметить номер карты с опцией Master

Если вы используете наушники, затем мы меняем как Master, так и Headphone

amixer -c 1 set Master toggle && amixer -c 1 set Headphone toggle

, где -c указывает номер карты, 1 в этой команде.

1
ответ дан 25 May 2018 в 17:02

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

amixer set Master 0
amixer set Master 100
0
ответ дан 25 May 2018 в 17:02
  • 1
    с вашими командами громкость понижается / поднимается, но не до минимума / максимума, как мне было нужно – giuspen 10 November 2011 в 14:54

Принятый ответ от Марка Руни не помог мне, потому что эта команда дала мне ошибку (моя звуковая карта имеет номер 1):

amixer: Mixer attach hw:1 error: Invalid argument

Итак, я попробовал

amixer set Master 100 unmute

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

amixer set Master 0 mute
0
ответ дан 25 May 2018 в 17:02

Еще лучше это, отключить все аудиоустройства. и установите громкость на 70%

for x in `amixer controls  | grep layback` ; do amixer cset "${x}" on ; done


for x in `amixer controls  | grep layback` ; do amixer cset "${x}" 70% ; done

в примере выше HDMI и оптический не отключен.

14
ответ дан 10 August 2018 в 08:48

Другие вопросы по тегам:

Похожие вопросы: