Zapobiegaj aplikacjom kontrolującym wolumin główny w systemie Linux

11

Ilekroć zmieniam głośność w VLC, Rhythmbox lub wideo na YouTube, zmienia głośność główną, tj. Głośność systemu. Jak mogę temu zapobiec?

Używam Debiana 7.0.0 (wheezy) z Xfce4, wygląda na to, że używa PulseAudio, którego nie znam. Oto zrzut ekranu aplikacji „Mikser” dostarczanej z xfce:

wprowadź opis zdjęcia tutaj

Tak, próbowałem usunąć zaznaczenie tam ikony „łańcucha”. Zainstalowałem, pavucontrolale wydaje się, że nie ma opcji, aby to zmienić:

wprowadź opis zdjęcia tutaj

Alex
źródło

Odpowiedzi:

9

Artykuł wiki Gentoo może mieć zastosowanie tutaj: Regulacja głośności dla poszczególnych aplikacji PulseAudio :

PulseAudio obsługuje kontrolę głośności dla poszczególnych aplikacji, ale domyślnie nie robi to wiele, ponieważ można kontrolować tylko te głośności za pomocą narzędzia do regulacji głośności pulseaudio. Oznacza to, że w aplikacji takiej jak Audacious, gdy urządzenie wyjściowe jest ustawione na PulseAudio, a regulacja głośności jest ustawiona na sprzęt, dostosuje ona główną regulację głośności, a nie kontrolę głośności dla poszczególnych aplikacji.

Aby naprawić to zachowanie, ustaw następujące opcje w /etc/pulse/daemon.conf

flat-volumes = no

Teraz, gdy Audacious przejdzie do regulacji głośności, dostosuje głośność tylko zuchwałą, a zatem nie będzie wielu aplikacji walczących o kontrolę głośności głównej.

harrymc
źródło
Dzięki, ale to NIE zadziałało. Obie zmieniają głośność z pulseaudio GUI (jak widać tutaj ), jak i z samej aplikacji ( tutaj ) zmienia głośność systemu. Uruchomiłem ponownie komputer po wprowadzeniu zmian. Sprawdziłem plik i zmiany rzeczywiście zostały zapisane
Alex
Debian wheezy najwyraźniej korzysta z PulseAudio w wersji 2.0-6.1. Możesz wypróbować powyższe porady dotyczące wersji 3.0-1 dostępne w dystrybucji eksperymentalnej.
harrymc
@Alex Right. Założę się, że problem jest specyficzny dla Debiana, ponieważ aplikacje PulseAudio i PA działały tak, jak chcesz przez wiele lat.
Michael Hampton
Masz problem z ame - czy jest to inny wariant? Główna i wszystkie woluminy aplikacji są ustawione na, powiedzmy, 35%. Zaczynam aplikację, która ustawia master (i samą) na 100%, ale pozostawia wszystkie pozostałe na ich (teraz względnych) 35%. Opuściłem tę aplikację, master ma 100%, wszystkie aplikacje są teraz ograniczone do 35% (jestem na Arch Linux). Wciąż szukam rozwiązania tego problemu.
bossi
1

Jeśli poprawnie interpretuję problem, znalazłem rozwiązanie:

Problem

Gdy aplikacja kontroluje głośność (np. Ustawia ją na maksimum), wpływa to na poziom głośności systemu, pozostawiając poziomy głośności aplikacji tam, gdzie są, skutecznie je „ograniczając”, co wymaga ponownego dostosowania np. Za pavucontrolkażdym razem.

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-------------|

Rozwiązanie

Konfiguracja w moim przypadku ma trzy różne miejsca, które wydają się pozwalać na konfigurację demona pulseaudio :

  1. /etc/pulse/daemon.conf
  2. ~/.pulse/daemon.conf
  3. ~/.config/pulse/daemon.conf

Aby oddzielić kontrolę nadrzędną (zwykle do tego mapowane są np. Ogólnosystemowe sprzętowe elementy sterujące głośnością) i umożliwić aplikacjom sterowanie własnym woluminem, bez wpływu na którykolwiek z nich, działały dla mnie następujące czynności:

  • ustawiony flat-volumes=now2.
  • upewnij się, że nie ma żadnych flat-volumesustawień w 1. ani3.
  • uruchom ponownie pulseaudio :
    • pulseaudio -k
    • pulseaudio --start

Wynik

Pozwolić

poziom głośności to wartość suwaka, a
wzrost głośności to efektywne ciśnienie akustyczne kołyszące sąsiadów

  • Wynik będzie
    1. aplikacja, która ma swoją własną suwerenny poziom głośności , oraz
    2. to znaczy globalny poziom głośności systemu tylko dotknięte przez siebie.
  • Powstała aplikacja maksymalny wzrost głośności aplikacji (wychodzący z głośników) będzie ograniczony przez niezależnie od ustawionego poziomu głośności systemu .
  • Zwiększenie poziomu głośności systemu proporcjonalnie zwiększy efektywny przyrost głośności, jaki aplikacja osiąga dzięki wynikom, ale nie własny poziom głośności .

Przykład

flat-volumes = yes
  1. Aplikacje „zwiększają” głośność systemu: np. Głośność systemu wynosi 60%; głośność aplikacji przesuwa się swobodnie poniżej 60%, ale „podnosi” głośność systemu, gdy przekracza bieżącą głośność systemu
  2. Aplikacja może ustawić głośność na maksimum (np. Kodi w moim przypadku). Jeśli tak, poziom głośności systemu zostanie ustawiony (na maksimum), podczas gdy poziomy innych aplikacji pozostaną tam, gdzie są. Do tego momentu zachowanie to zachowuje efektywny wzrost głośności, ale gdy aplikacja, która ustawia głośność na maksimum, opuszcza się, wszystkie poziomy pozostają tam, gdzie są, utrzymując głośność systemu na maksimum, a objętości aplikacji są teraz ograniczone do ich względnej pozycji.
flat-volumes = no
  1. Objętość aplikacji ma nie wpływa na wolumin systemowy.
  2. Aplikacja może ustawić głośność na maksimum (np. Kodi w moim przypadku). Przy wyłączonych woluminach płaskich nie wpływa to na wolumin systemowy, ale tylko na jego własny, pozostawiając wszystkie pozostałe poziomy głośności aplikacji tam, gdzie są.
bossi
źródło