Comment changer le volume des applications et des flux de lecture pulseaudio qui ne sont pas actuellement utilisés?

13

Je peux changer les volumes sonores avec " gnome-volume-control ". Mais il n'y a que des applications / flux de lecture qui sont actuellement utilisés :

capture d'écran

Dans ~/.config/pulse/J'ai trouvé *-stream-volumes.tdbet *-device-volumes.tdbcela pourrait être les fichiers de configuration mais je ne peux pas lire ou modifier ces fichiers.

Lasall
la source

Réponses:

4

J'ai écrit un petit outil qui vous permet de régler le volume de n'importe quel client dont pulseaudio se souvient. Veuillez voir ici:

https://github.com/rhaas80/pa_volume

pour le référentiel. Vous aurez besoin du paquet libpulse-dev installé après quoi un simple "make" devrait construire l'outil. Veuillez consulter son fichier README.md pour l'utilisation.

dpkg -l | grep libpulse-dev # Check if installed
git clone [email protected]:rhaas80/pa_volume.git
cd pa_volume/
make
./pa_volume # list remembered PA clients
./pa_volume Program 30 # set to 30%
Roland Haas
la source
1
6 ans après avoir posé la question, merci d'avoir fourni une solution de travail et de la partager ici :)
Lasall
Vous pouvez également répertorier les clients avec pacmd list-clientset les tuer avec pacmd kill-client( man pulse-cli-syntax). Pour tous kill'em: for i in $(pacmd list-clients | grep index | grep -o "[0-9]*"); do pacmd kill-client $i; done. Certains réapparaîtront, sans savoir pourquoi.
Pablo Bianchi
16

Pulseaudio est livré avec une interface de ligne de commande ( man pulse-cli-syntax) pour contrôler de nombreux paramètres.

Nous pouvons soit charger l'analyseur de ligne de commande, pacmdsoit appeler des commandes directement dans un terminal ou un script:

pacmd set-sink-volume <index> <volume>
pacmd set-source-volume <index> <volume>

contrôle le volume d'un récepteur donné où <index>est l'indice du récepteur (répertorié avec pacmd list-sinks) et <volume>est une valeur de 0 (= muet) à 65536 = 100%.

Les fichiers de configuration ~/.config/pulse(autrefois ~/.pulsequi peuvent encore être actifs dans une installation mise à niveau) ne sont pas destinés à être lus ou modifiés dans un paramètre par défaut. Nous pouvons toutefois y créer une personnalisation default.papour remplacer les paramètres /etc/pulse/default.pa.

Pour 12.04, des écouteurs peuvent être utilisés pour le contrôle audio. Malheureusement, cette application n'est pas développée et n'est pas disponible dans les versions ultérieures.

Voir également les notes pour cette réponse .

Takkat
la source
Merci pour ton explication. Mais je n'arrive pas. Par exemple, quand je veux régler mon volume d'amarok, comment faire? Il n'est pas répertorié dans les récepteurs de liste ou les sources de liste .
Lasall
Vous ne pouvez pas le faire par l'interface de ligne de commande. Ceci est lié aux récepteurs de sortie.
Takkat
J'ai déjà testé earcandy. Il devrait faire exactement les choses que je veux. Mais il n'est toujours pas stable, je ne considère donc pas cette question comme résolue.
Lasall
@Lasall: pas de soucis. Nous espérons qu'il atteindra un certain niveau de stabilité.
Takkat
3

Pour trouver vos récepteurs source pulseaudio, utilisez la commande suivante:

pactl list short sinks

De cette commande, vous avez obtenu les puits runninget idle. Avec leur numéro de lavabo. En utilisant ce numéro d'index, vous pouvez contrôler le volume des puits.

index: 128
    driver: <module-ladspa-sink.c>
    state: RUNNING
    sink: 0
    # ^ This is the sink number you want to find

Vous pouvez utiliser la commande suivante pour contrôler un volume de récepteurs particulier:

pactl set-sink-volume <index number> <volume in %>

Par exemple:

pactl set-sink-volume 0 100%
Prakash V Holkar
la source
1
Merci de regarder cette vieille question. Je n'ai qu'un seul élément dans la liste des éviers. Ma question était de contrôler le volume des différentes applications (pas en cours d'exécution) et non des différentes interfaces audio.
Lasall
Cela ne répond pas non plus à la question, mais vous pouvez voir toutes les sorties audio en cours d'exécution avec pactl list sink-inputs. Si votre programme affiche l'ID 108 dans cette liste et que vous souhaitez le régler sur un volume de 60%, utilisez pactl set-sink-input-volume 108 60%. Mais le son doit fonctionner pour que cela fonctionne.
weltensturm
1
Tout ce que j'obtiens pour cela: "Aucune commande valide spécifiée."
panzi