Почему команда amixer не позволяет включить звук?

Почему команда amixer не позволяет включить звук?

Я пытаюсь отключить и включить звук с помощью команды amixer в терминале в Linux.

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

 amixer sset 'Master' mute

И

amixer set Master mute

Оба сработали...

Но когда я пытаюсь включить звук:

amixer sset 'Master' unmute

И

amixer set Master unmute

Это не работает, и звук по-прежнему отключен.

Обе строки кода включения звука возвращают следующий вывод в терминале:

Простое управление микшером «Мастер»,0 Возможности: pvolume pvolume-joined pswitch pswitch-joined Каналы воспроизведения: Моно Ограничения: Воспроизведение 0 - 87 Моно: Воспроизведение 87 [100%] [0,00 дБ] [вкл]

Как заставить amixer работать на включение звука и почему он не отключается? Является ли amixer лучшей командой для управления громкостью в ОС Linux*? Если нет, то какой инструмент лучше вместо amixer?

*Примечание: ОС Linux в целом, поскольку она должна работать со всеми дистрибутивами Linux с меньшей вероятностью несовместимости и вариаций кода для отключения/включения звука.

решение1

из этогопочтаАрвидас пишет:

По какой-то причине отключение звука работает нормально, но включение звука или переключение не дает никакого эффекта. При дальнейшем исследовании я заметил, что при отключении звука Master-канала каналы «PCM» и «Master Mono» также отключаются. Включение звука Master не включает эти два канала.

Это работает у меня на Ubuntu 14.04 (qtile WM) для включения звука:

pactl set-sink-mute 0 0

для отключения звука:

pactl set-sink-mute 0 1

Обновлено:

По этому вопросу есть много сообщений.Ошибка №1026331иОшибка №878986 в launchpad, если вы отключаете/переключаете master:

amixer set Master mute

Другие каналы (в моем случае наушники и динамики) также будут отключены. Но если вы включите звук/переключите Master:

amixer set Master unmute

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

amixer set Master unmute
amixer set Headphone unmute
amixer set Speaker unmute

решение2

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

попробуйте эту команду: pactl set-sink-mute 0 toggleчтобы отключить звук.

Источник:https://wiki.archlinux.org/index.php/PulseAudio#Управление_громкостью_клавиатуры

решение3

Все вышеперечисленные существующие ответы либо используют , pactlлибо xdotool, вотamixerконкретный ответ:

Это работает как для выключения, так и для включения звука:

amixer -D pulse set Master toggle

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

  • Работает с 13.04 по 17.10 и вплоть до текущих Ubuntu и Debian.
  • В первоначальном ответе был 1+, но причина его неизвестна, и«Без параметра работает еще лучше 1+»
  • Некоторые утверждают, что дажеamixer set Master toggleработает, и я подтвердил, что это работает на моем Debian 10.

решение4

amixer -D pulse set Master 1+ toggle

Связанный контент