
Я пытаюсь отключить и включить звук с помощью команды 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