Empêcher les applications de contrôler le volume principal sous Linux

11

Chaque fois que je change le volume dans VLC, Rhythmbox ou une vidéo sur YouTube, cela change le volume principal, c'est-à-dire le volume du système. Comment puis-je empêcher que cela se produise?

J'utilise Debian 7.0.0 (wheezy) avec xfce4, il semble utiliser PulseAudio, que je ne connais pas. Voici une capture d'écran de l'application "Mixer" fournie avec xfce:

entrez la description de l'image ici

Oui, j'ai essayé de décocher l'icône "chaîne" ici. J'ai installé pavucontrolmais il ne semble pas y avoir d'option pour changer cela:

entrez la description de l'image ici

Alex
la source

Réponses:

9

Cet article wiki Gentoo peut s'appliquer ici: Contrôle du volume par application PulseAudio :

PulseAudio prend en charge le contrôle du volume par application, mais par défaut, cela ne fait pas grand-chose, car vous ne pouvez contrôler ces volumes qu'à partir de l'utilitaire de contrôle du volume pulseaudio. Cela signifie que dans une application comme Audacious, lorsque le périphérique de sortie est défini sur PulseAudio et que le contrôle du volume est défini sur le matériel, il ajuste le contrôle du volume principal, et non le contrôle du volume par application.

Pour résoudre ce problème, définissez ce qui suit dans /etc/pulse/daemon.conf

flat-volumes = no

Maintenant, chaque fois qu'Audacious va régler le volume, il ajustera le seul volume audacieux et vous n'aurez donc pas plusieurs applications se disputant le contrôle du volume principal.

harrymc
la source
Merci, mais cela n'a PAS fonctionné. La modification du volume à partir de l'interface graphique pulseaudio (comme ici ) et de l'application elle-même ( ici ) modifient le volume du système. J'ai redémarré l'ordinateur après avoir apporté les modifications. J'ai vérifié le fichier et les modifications ont bien été enregistrées
Alex
Debian Wheezy utilise apparemment PulseAudio version 2.0-6.1. Vous pouvez essayer les conseils ci-dessus sur la version 3.0-1 disponible sur la distribution expérimentale.
harrymc
@Alex à droite. Je parierais que le problème est spécifique à Debian car PulseAudio et les applications compatibles PA fonctionnent comme vous le souhaitez depuis de nombreuses années.
Michael Hampton
Vous avez le problème ame - ou s'agit-il d'une variante différente? Le volume principal et tous les volumes d'application sont définis sur, disons, 35%. Je démarre une application qui définit le maître (et lui-même) à 100%, mais laisse tous les autres à leur (maintenant relatif) 35%. J'ai quitté cette application, master est à 100%, toutes les applications sont désormais plafonnées à 35% (je suis sur Arch Linux). Toujours à la recherche d'une solution à cela.
bossi
1

Si j'interprète correctement votre problème, voici la solution que j'ai trouvée:

Le problème

Lorsqu'une application contrôle le volume (par exemple, le définit au maximum), cela affecte le niveau du volume du système, laissant les niveaux de volume des applications là où ils se trouvent, les «plafonnant» efficacement, ce qui nécessite de les réajuster par exemple à pavucontrolchaque fois.

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

La solution

La configuration dans mon cas a trois emplacements distincts qui semblent permettre de configurer le démon pulseaudio :

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

Pour découpler le contrôle principal (c'est généralement ce à quoi les contrôles de volume matériel à l'échelle du système sont mappés, par exemple) et pour que les applications contrôlent leur propre volume, sans que les deux ne s'affectent mutuellement, ce qui suit a fonctionné pour moi:

  • mettre flat-volumes=noen2.
  • assurez-vous qu'il n'y a pas de flat-volumesparamètres dans 1. ou3.
  • redémarrez pulseaudio :
    • pulseaudio -k
    • pulseaudio --start

Le résultat

Laisser

le niveau de volume est la valeur de la commande du curseur et le
gain de volume est la pression acoustique effective qui secoue vos voisins

  • Le résultat sera
    1. une application qui a son propre niveau de volume souverain , et
    2. un niveau du volume global du système , qui est aussi seulement affectée par elle - même.
  • Le gain de volume maximal résultant de l'application (qui sort de vos haut-parleurs) sera limité par le niveau de volume du système actuellement réglé.
  • L'augmentation du niveau de volume du système augmentera proportionnellement le gain de volume effectif produit par l'application via votre sortie, mais pas son propre niveau de volume .

Un exemple

flat-volumes = yes
  1. Les applications "poussent" le volume du système vers le haut: par exemple, le volume du système est à 60%; le volume d'application passe librement en dessous de 60%, mais "pousse" le volume du système vers le haut lorsqu'il dépasse le volume actuel du système
  2. Une application peut régler le volume au maximum (par exemple kodi dans un cas que j'avais). Si c'est le cas, le niveau de volume du système est réglé (au maximum), tandis que les niveaux des autres applications restent où ils sont. Jusqu'à ce point, ce comportement conserve le gain de volume effectif, mais lorsque l'application qui définit le volume au maximum se ferme, tous les niveaux restent où ils sont, en maintenant le volume du système au maximum et les volumes d'application sont désormais plafonnés à leur position relative.
flat-volumes = no
  1. Le volume d'application n'affecte pas du tout le volume du système.
  2. Une application peut régler le volume au maximum (par exemple kodi dans un cas que j'avais). Lorsque les volumes plats sont désactivés, cela n'affecte pas le volume système, mais uniquement le sien, laissant tous les autres niveaux de volume d'application où ils se trouvent.
bossi
la source