Мне нужно отключить / включить звук из командной строки. Я узнал, что могу это сделать с помощью:
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]
Может ли кто-нибудь помочь мне с этим?
Попробуйте выполнить следующие команды в терминале
amixer -c 0 set Master playback 0% mute
amixer -c 0 set Master playback 100% unmute
Это должно обеспечить контроль всех выходов. Вероятно, с вашими сообщениями причина, по которой объем не равен 100%, заключается в том, что amixer не выпускает все выходы, например, наушники или любые другие звуковые выходы одновременно.
Еще лучше - отключить все аудиоустройства. и установите громкость на 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 и оптический не отключен.
Получить все источники звука, получить их имена, сформировать командную строку с amixer и выполнить ее
amixer scontrols | grep -oE "'.*'" | awk -F\' \
'{print "amixer -c 0 set \""$2"\" unmute 100"}' | sh
Включить все аудиоустройства и установить их громкость на максимум
Have отличный, Майк
Решение 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]
Хорошо, сначала вам нужно узнать свои разные номера карт из
alsamixer
выбрать карты из F6 и отметить номер карты с опцией Master
Если вы используете наушники, затем мы меняем как Master, так и Headphone
amixer -c 1 set Master toggle && amixer -c 1 set Headphone toggle
, где -c указывает номер карты, 1 в этой команде.
Команды, которые вы используете, тоже не работают для меня, но попробуйте их. Они работают для меня.
amixer set Master 0
amixer set Master 100
Принятый ответ от Марка Руни не помог мне, потому что эта команда дала мне ошибку (моя звуковая карта имеет номер 1):
amixer: Mixer attach hw:1 error: Invalid argument
Итак, я попробовал
amixer set Master 100 unmute
, и он отлично работал для выбранной звуковой карты. Вы также можете отключить его, используя
amixer set Master 0 mute
Еще лучше это, отключить все аудиоустройства. и установите громкость на 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 и оптический не отключен.