Предотвратить системные события от увеличения мастер громкости

1843
Nobody

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

Затем, когда что-то вызывает системное сообщение, такое как «Шнур питания отключен», общий уровень громкости автоматически масштабируется до 100% и включается звук для воспроизведения звука уведомления.

Как отключить эту функцию?

Пока у меня есть только обходной путь приглушения / уменьшения громкости динамика ПК, на который не влияет системное сообщение. Однако у этого есть недостаток: мне нужно открыть alsamixer (так как регулятор громкости по какой-то причине не виден в KMix) и включить его, пока я хочу звук динамика, а затем я должен не забыть отключить его, когда я не хочу больше (что не делается с помощью «обычных» мультимедийных клавиш).

Ноутбук представляет собой Lenovo G780 с набором микросхем семейства наборов микросхем Intel Series 7 / C210 серии High Definition Audio.

Я установил pulseaudio.

2
Какой производитель оборудования? Какая операционная система (я полагаю, какой-то дистрибутив Linux работает на KDE, как вы уже упоминали, KMix)? Если последнее, то какие аудио-настройки (дополнительные аудио-серверы вроде Pulse или просто alsa?)? Никогда не случилось со мной, используя Ubuntu на моем ноутбуке (MSI & Lenovo) ... Johannes H. 10 лет назад 0
@JohannesH. Я добавил запрошенные детали. Позвольте мне заметить, что у меня был экземпляр Linux Mint, использующий KDE на этом оборудовании, и со мной там никогда не возникало проблем. Nobody 10 лет назад 0
Вознаграждение за это, потому что у меня все еще есть проблема в Kubuntu 15.04, и я должен открыть alsamixer, чтобы установить жесткий максимальный объем, что является болью. naught101 8 лет назад 0
@ naught101: Это на одном и том же оборудовании или тоже отличается? Nobody 8 лет назад 0
HP zBook 14. Но я уверен, что это программная проблема, связанная с тем, как Pulseaudio обрабатывает новые события громкости. Я изучал это, пытаясь найти решение несколько месяцев назад, но теперь я не могу вспомнить, как оно называлось, и не могу найти ничего подходящего ... naught101 8 лет назад 0
Если вы используете PulseAudio, вы можете установить `pavucontrol`; в «Playback» вы можете отключить системные звуки. Это самый простой способ управления звуком, который я нашел. Затем вы можете найти много соответствующей информации здесь, https://wiki.archlinux.org/index.php/PulseAudio MariusMatutiae 8 лет назад 0
@MariusMatutiae Я больше не могу воспроизвести проблему в моей системе. Когда я отключаю шнур питания, общий уровень громкости не увеличивается до 100%. Однако, глядя на alsamixer, я заметил, что при воспроизведении звука уведомления общая громкость уменьшается на 3 пункта. Когда я уменьшаю основную громкость в KMix почти до 0, основной канал в alsamixer уже равен 0, а громкость канала динамика изменяется. В этой конфигурации уведомление снижает громкость канала динамика на 13 пунктов. Приглушение звуков системы в pavucontrol ничего не меняет. Nobody 8 лет назад 0
Хорошо, после переключения на vcl-фонон я смог воспроизвести проблему снова. Однако громкость меняется только при первом отключении кабеля. Помогло изменение громкости звука системы до менее чем 100%, как предложено в [ответе Меуха] (https://superuser.com/a/941750/98286). Я не могу подтвердить, помогает ли отключение звука, потому что теперь я не могу воспроизвести проблему снова, даже с помощью vlc phonon backend. Nobody 8 лет назад 0

2 ответа на вопрос

2
meuh

Чтобы быть прагматичным, решение может состоять в том, чтобы отсоединить 3,5-мм штекер пары наушников и подключить его к ноутбуку, когда требуется тишина!

В качестве альтернативы обратите внимание, что alsamixer имеет версию для командной строки amixer(пакет alsa-utilsна fedora), поэтому вы можете написать небольшой скрипт для отключения или включения звука динамика.

Список доступных устройств:

$ aplay --list-devices **** List of PLAYBACK Hardware Devices **** card 0: Device [USB Audio Device], device 0: USB Audio [USB Audio] ... 

Перечислите элементы управления для этой карты:

$ amixer -c 0 scontents Simple mixer control 'PCM',0 Capabilities: pvolume pswitch pswitch-joined Playback channels: Front Left - Front Right Limits: Playback 0 - 52 Mono: Front Left: Playback 26 [50%] [-27.00dB] [on] Front Right: Playback 26 [50%] [-27.00dB] [on] 

Установите громкость и состояние отключения звука:

$ amixer -c 0 set 'PCM' '50%' mute 

Похоже, это ошибка kde Ошибка 324975 «Объем восстанавливается до 100% после каждого события knotify», впервые сообщенный в 2013-09-16 и закрытый в 2014-12-04 со статусом RESOLVED FIXED, но у многих людей все еще возникают проблемы и добавив свои комментарии даже сейчас.

Среди предложений по обходным путям, которые сильно зависят от вашей системы:

  • Установить flat-volumes=noв /etc/pulse/daemon.conf

  • Отключить эти звуки в ~/.gtkrc-2.0или ~/.config/gtkrc-2.0или $XDG_CONFIG_HOME/gtk-3.0/settings.ini с

    gtk-enable-event-sounds=0 gtk-enable-input-feedback-sounds=0 
  • Удалите пакет звуковой темы libcanberra-gtk2.

  • Используйте бэкэнд gstreamer вместо PulseAudio.

  • В 15.04 включите регулятор громкости в «Настройки системы» -> «Приложения и системные уведомления» -> «Настройки воспроизведения» и установите значение, отличное от 100%.

В большинстве случаев я делаю именно это: подключаю наушники, чтобы звук не был услышан. Однако это 2015 год! К настоящему времени мы должны были выяснить, как сказать компьютеру, что делать. Даже маленький сценарий - это просто обходной путь, а не решение. Я вижу, что это может быть функция увеличения громкости, чтобы системные события были услышаны, но, по крайней мере, для меня это нежелательно, поэтому должна быть возможность отключить ее. Кроме того, это не было проблемой в других системах, так что это явно ошибка, которую следует исправить, а не обойти. Nobody 8 лет назад 0
I don't want silence. I just want to not be deafened when ever there is a new system bell. I also don't want to have to manually set the PCM volume. I can already do that with alsamixer, if necessary. I'm just looking for a way to prevent system sounds from increasing the volume, relative to last time I reduced the volume. naught101 8 лет назад 0
@naught101 it seems to be a known/fixed kde bug. see my edit. meuh 8 лет назад 0
-1
rafael

та же проблема в archlinux, я нашел решение здесь:

http://userbase.kde.org/Sound_Problems/es#Can.27t_mute_event_.28system.29_sounds_and_other_KMix_strange_problems

Теперь с KDE 4.10+, PulseAudio включен в сеансе пользователя, и мы можем проверить это с помощью следующей команды

ps -ef | grep pulseau 

Пример вывода:

sergio 1880 1 0 12:15 ? 00:04:01 /usr/bin/pulseaudio --start --log-target=syslog 

Ввод следующих команд

killall kmix rm -rf .pulse/ rm -rf .pulse-cookie  rm -rf .config/pulse/ kmix 

исправил эту проблему. Старые конфигурации PulseAudio могут создать эту проблему, если мы создадим нового пользователя, у нас не будет этой проблемы.

Хотя ссылка может дать ответ, она может быстро, прежде чем устаревать. Пожалуйста, включите основные пункты по ссылке в вашем ответе. Спасибо Matthew Williams 9 лет назад 1
Поначалу у меня нет пульса (и тоже нет kmix), но я применил шаги (хотя и не было .pulse / тоже не было) и ничего не произошло. Я вышел из системы и вернулся, как всегда (уведомления о событиях увеличивали громкость). На этот раз pulseaudio был рядом и kmix тоже, поэтому я повторил попытку (все еще нет .pulse /), и это, похоже, сработало. Тем не менее, теперь у меня нет никаких звуков событий вообще (даже когда громкость была увеличена). Затем я установил некоторые обновления и перезагрузил компьютер, и теперь звуки событий снова увеличивают громкость, и исправление не работает (сейчас я также пропускаю .pulse / и .pulse-cookie). Nobody 9 лет назад 0

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