Impedir que aplicativos controlem o volume principal no Linux

10

Sempre que altero o volume no VLC, no Rhythmbox ou em um vídeo no YouTube, ele altera o volume principal, ou seja, o volume do sistema. Como posso impedir que isso aconteça?

Estou executando o Debian 7.0.0 (wheezy) com o xfce4, parece usar o PulseAudio, com o qual não estou familiarizado. Aqui está uma captura de tela do aplicativo "Mixer" que acompanha o xfce:

insira a descrição da imagem aqui

Sim, tentei desmarcar o ícone "cadeia" lá. Eu instalei, pavucontrolmas parece não haver opção para alterar isso:

insira a descrição da imagem aqui

Alex
fonte

Respostas:

9

Este artigo wiki do Gentoo pode ser aplicado aqui: Controle de volume por aplicativo PulseAudio :

O PulseAudio suporta controle de volume por aplicativo, mas, por padrão, isso não faz muito, pois você só pode controlar esses volumes no utilitário de controle de volume pulseaudio. Isso significa que em um aplicativo como o Audacious, quando o dispositivo de saída estiver definido como PulseAudio e o controle de volume estiver definido como hardware, ele ajustará o controle de volume principal, não o controle de volume por aplicativo.

Para corrigir esse comportamento, defina o seguinte em /etc/pulse/daemon.conf

flat-volumes = no

Agora, sempre que o Audacious ajusta o volume, ele ajusta o volume apenas audacioso e, portanto, você não terá vários aplicativos lutando pelo controle de volume principal.

harrymc
fonte
Obrigado, mas não funcionou. A alteração do volume da GUI do pulseaudio (como mostrado aqui ) e do próprio aplicativo ( aqui ) altera o volume do sistema. Reiniciei o computador depois de fazer as alterações. Eu verifiquei o arquivo e as alterações foram de fato salvou
Alex
O Debian wheezy aparentemente usa o PulseAudio versão 2.0-6.1. Você pode tentar o conselho acima na versão 3.0-1 disponível na distribuição experimental.
Harrymc
@Alex Right. Aposto que o problema é específico do Debian, pois os aplicativos habilitados para PulseAudio e PA funcionam da maneira que você deseja há muitos anos.
Michael Hampton
Tem o problema do ame - ou é uma variante diferente? O mestre e todos os volumes de aplicativos estão configurados para, digamos, 35%. Inicio um aplicativo que define o mestre (e ele próprio) para 100%, mas deixa todos os outros em seus (agora relativos) 35%. Saí dessa aplicação, o mestre está em 100%, todas as aplicações agora têm limite de 35% (estou no Arch Linux). Ainda procurando uma solução para isso.
bossi 12/02
0

Se eu interpretar seu problema corretamente, esta é a solução que encontrei:

O problema

Quando um aplicativo controla o volume (por exemplo, define-o como máximo), afeta o nível de volume do sistema, deixando os níveis de volume dos aplicativos onde estão, efetivamente "limitando-os", exigindo o reajuste, por exemplo, pavucontrolsempre.

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

A solução

A instalação no meu caso tem três locais distintos que parecem permitir a configuração do pulseaudio-daemon :

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

Para desacoplar o controle mestre (geralmente é para isso que, por exemplo, os controles de volume de hardware de todo o sistema são mapeados) e os aplicativos controlam seu próprio volume, sem que nenhum dos dois se afecte, o seguinte funcionou para mim:

  • definir flat-volumes=noem2.
  • verifique se não há flat-volumesconfigurações em 1. ou3.
  • reinicie o pulseaudio :
    • pulseaudio -k
    • pulseaudio --start

O resultado

Deixei

nível de volume seja o valor do controle deslizante e
ganho de volume seja a pressão sonora eficaz que balança seus vizinhos

  • O resultado será
    1. um aplicativo que tenha seu próprio nível de volume soberano e
    2. um nível de volume global do sistema , que também é afetado apenas por ele.
  • O ganho máximo de volume resultante do aplicativo (que sai dos alto-falantes) será limitado pelo nível de volume do sistema atualmente definido.
  • Aumentar o nível de volume do sistema aumentará proporcionalmente o ganho de volume efetivo que o aplicativo produz através da saída, mas não o seu próprio nível de volume .

Um exemplo

flat-volumes = yes
  1. As aplicações "aumentam" o volume do sistema: por exemplo, o volume do sistema é de 60%; o volume do aplicativo se move livremente abaixo de 60%, mas "aumenta" o volume do sistema ao exceder o volume atual do sistema
  2. Um aplicativo pode definir o volume como max (por exemplo, kodi no caso que eu tinha). Nesse caso, o nível de volume do sistema é definido (no máximo), enquanto os níveis de outros aplicativos permanecem onde estão. Até esse ponto, esse comportamento retém o ganho efetivo de volume, mas quando o aplicativo que define o volume como máximo é encerrado, todos os níveis permanecem onde estão, mantendo o volume do sistema no máximo e os volumes do aplicativo agora limitados em sua posição relativa.
flat-volumes = no
  1. O volume do aplicativo não afeta o volume do sistema.
  2. Um aplicativo pode definir o volume como max (por exemplo, kodi no caso que eu tinha). Com os volumes simples desativados, ele não afeta o volume do sistema, mas apenas o seu, deixando todos os outros níveis de volume do aplicativo onde estão.
bossi
fonte