Запретить приложениям управлять громкостью на Linux
Всякий раз, когда я меняю громкость в VLC, Rhythmbox или видео на YouTube, он меняет общую громкость, то есть громкость системы. Как я могу предотвратить это?
Я использую Debian 7.0.0 (wheezy) с xfce4, он использует PulseAudio, с которым я не знаком. Вот скриншот приложения "Mixer", которое поставляется с xfce:
Да, я попытался снять флажок "цепочка" там. Я установил pavucontrol
но, кажется, нет возможности изменить это:
2 ответа
Эта статья вики Gentoo может применяться здесь: Регулятор громкости PulseAudio для каждого приложения:
PulseAudio поддерживает регулировку громкости для каждого приложения, но по умолчанию это мало что дает, так как вы можете контролировать эти громкости только из утилиты управления громкостью pulseaudio. Это означает, что в приложении, таком как Audacious, когда устройство вывода установлено на PulseAudio, а регулятор громкости установлен на аппаратное обеспечение, он будет регулировать основной регулятор громкости, а не регулятор громкости для каждого приложения.
Чтобы исправить это поведение, установите следующее в
/etc/pulse/daemon.conf
flat-volumes = no
Теперь, когда Audacious настроен на регулировку громкости, он будет регулировать только громкость звука, и поэтому у вас не будет нескольких приложений, сражающихся за основной регулятор громкости.
Если я правильно интерпретирую вашу проблему, я нашел следующее решение:
Проблема
Когда приложение контролирует громкость (например, устанавливает ее на максимум), оно влияет на уровень громкости системы, оставляя уровни громкости приложений на прежнем уровне, эффективно «ограничивая» их, требуя повторной настройки, например,pavucontrol
каждый раз.
Initial settings:
system |========o--------|
application |========o--------|
Controlling application adjusts:
system |================o|
application |========o--------|
Result when bringin system volume level down again:
system |========o--------|
application |===o-------------|
Решение
В моем случае установка имеет три разных места, которые, по-видимому, позволяют настроить пульсаудио-демона :
-
/etc/pulse/daemon.conf
-
~/.pulse/daemon.conf
-
~/.config/pulse/daemon.conf
Чтобы отделить главный элемент управления (обычно это то, с чем сопоставляются, например, общесистемные аппаратные регуляторы громкости) и позволить приложениям управлять своей собственной громкостью, при этом ни один из двух элементов не влияет друг на друга, мне помогло следующее:
- набор
flat-volumes=no
в2.
- убедитесь, что нет
flat-volumes
настройки в 1. или3.
- перезапустить пульсаудио :
-
pulseaudio -k
-
pulseaudio --start
-
Результат
Позволять
уровень громкости — это значение ползунка, а
усиление громкости — это эффективное звуковое давление, раскачивающее ваших соседей.
- Результат будет
- приложение, которое имеет свой собственный уровень громкости , и
- глобальный уровень громкости системы , на который также влияет только он сам.
- Максимальное усиление громкости приложения (выходящее из динамиков) будет ограничено тем, какой уровень громкости системы установлен в данный момент.
- Увеличение уровня громкости системы пропорционально увеличит эффективный прирост громкости, который приложение производит через ваш вывод, но не собственный уровень громкости .
Пример
flat-volumes = yes
- Приложения «подталкивают» громкость системы вверх: например, громкость системы составляет 60%; громкость приложения свободно перемещается ниже 60%, но «подталкивает» системную громкость вверх при превышении текущей системной громкости
- Приложение может установить максимальную громкость (например, Kodi в моем случае). В этом случае уровень громкости системы устанавливается (на максимум), а уровни других приложений остаются на своих местах. До этого момента такое поведение сохраняет эффективный прирост громкости, но когда приложение, установившее максимальную громкость, закрывается, все уровни остаются на своих местах, сохраняя максимальную громкость системы, а громкость приложений теперь ограничивается их относительным положением.
flat-volumes = no
- Громкость приложения вообще не влияет на громкость системы.
- Приложение может установить максимальную громкость (например, Kodi в моем случае). При отключении плоских томов он не влияет на системный том, а только на свой собственный, оставляя все остальные уровни громкости приложений на своих местах.