Alsamixer отсутствует для получения меня?

Я не мог соединить надлежащее решение заставить alsamixer правильно управлять моим звуком.

Вот мое желаемое поведение:

  1. На перезагрузке, спящем режиме или сне и затем пробуждении, я хочу все alsamixer уровни и отключаю звук сохраненных настроек.
  2. Клавиша отключения микрофона на моей клавиатуре должна переключить бесшумный режим, объем и кнопки объема вниз должны увеличить или уменьшить объем, и если применимо, удалить отключение звука.
  3. Когда я включаю наушники, должен быть другой параметр громкости для них, и уровни громкости должны автоматически скорректировать себя. Не имеет значения для меня, если ведущее устройство изменяется или если наушник / уровни динамика изменяется. Просто потребность удостовериться, что это работает с объемом - {вниз} ключи.

Я использую XMonad и xbindkeys для отображения моего объема/клавиш отключения микрофона на действия. В настоящее время:

"amixer set Master 2dB+"
  XF86AudioRaiseVolume

"amixer set Master 2dB-"
  XF86AudioLowerVolume

"/path/to/mute.sh"
  XF86AudioMute

где mute.sh

FILE=$HOME/.mute
if [ -f $FILE ]; then
  amixer set Master `cat $FILE`
  rm $FILE
else
  amixer get Master\
    | grep Mono\
    | grep -P -o '[\d]{1,3}'\
    | head -n 1\
    > $FILE
  amixer set Master 0
fi

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

Какие-либо идеи, как я мог сделать отключение звука и перезапустить поведение лучше?

-----ОТРЕДАКТИРУЙТЕ 1-----

Основной переключатель отключает звук канала динамика также:

$ amixer get Speaker | tail -n 1
  Front Right: Playback 87 [100%] [0.00dB] [on]
$ amixer set Master toggle
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined penum
  Playback channels: Mono
  Limits: Playback 0 - 87
  Mono: Playback 87 [100%] [0.00dB] [off]
$ amixer set Master unmute
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined penum
  Playback channels: Mono
  Limits: Playback 0 - 87
  Mono: Playback 87 [100%] [0.00dB] [on]
$ amixer get Speaker | tail -n 1
  Front Right: Playback 87 [100%] [0.00dB] [off]

-----ОТРЕДАКТИРУЙТЕ 2-----

Переключение является странным:

$ for x in Master Headphone Speaker; do amixer set $x toggle ;done
Simple mixer control 'Master',0
  Mono: Playback 87 [100%] [0.00dB] [on]
Simple mixer control 'Headphone',0
  Front Left: Playback 87 [100%] [0.00dB] [on]
  Front Right: Playback 87 [100%] [0.00dB] [on]
Simple mixer control 'Speaker',0
  Front Left: Playback 87 [100%] [0.00dB] [off]
  Front Right: Playback 87 [100%] [0.00dB] [off]

$ for x in Master Headphone Speaker; do amixer set $x toggle ;done
Simple mixer control 'Master',0
  Mono: Playback 87 [100%] [0.00dB] [on]
Simple mixer control 'Headphone',0
  Front Left: Playback 87 [100%] [0.00dB] [on]
  Front Right: Playback 87 [100%] [0.00dB] [on]
Simple mixer control 'Speaker',0
  Front Left: Playback 87 [100%] [0.00dB] [on]
  Front Right: Playback 87 [100%] [0.00dB] [on]
2
задан 4 October 2013 в 22:40

1 ответ

Ваше оборудование имеет главный выключатель звука; используйте amixer set Master toggle.

Чтобы включить звук, запустите amixer set Master unmute.

Вы должны иметь возможность устанавливать регуляторы Speaker и Headphone по-разному, а также использовать регулятор Master для установки общей громкости.

Ваше оборудование может автоматически отключать звук динамиков, когда наушники подключены, но ваш регулятор Auto-Mute Mode отключен. По-видимому, у вас есть какое-то программное обеспечение, которое делает некоторые.

0
ответ дан 4 October 2013 в 22:40

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

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