Comment modifier par programmation de volume dans Ubuntu
Comment modifier par programmation de volume dans Gnome sur Ubuntu, soit à partir de la ligne de commande ou une API (Python de préférence)?
Les seules réponses que j'ai trouvé à des questions similaires, l'utilisation amixer
, qui ne semble avoir aucun effet sur Ubuntu 12.04. En cours d'exécution:
amixer set Headphone 10-
montre:
Simple mixer control 'Headphone',0
Capabilities: pvolume pswitch penum
Playback channels: Front Left - Front Right
Limits: Playback 0 - 115
Mono:
Front Left: Playback 0 [57%] [-57.50dB] [on]
Front Right: Playback 0 [57%] [-57.50dB] [on]
Les x% change à chaque fois que je le lance. Malheureusement, il n'a pas d'effet sur le volume réel. Finalement, il dit 0%, mais le volume est encore à plein régime.
L'autre inconvénient est que je dois spécifier exactement active de sortie de l'appareil, ce qui je ne pourrais pas savoir si il y a plusieurs dispositifs. Par exemple, si j'ai un "Maître" et "Casque", comment puis-je déterminer lequel est le périphérique actif?
- Juste une supposition: ne
amixer set Master 10-
œuvres? Le changement du maître de volume aurait une incidence sur tous les autres canaux. autant que je sache. amixer set Master 10-
œuvres.- amixer n'a pas d'effet, quel que soit le périphérique je précise...
Vous devez vous connecter pour publier un commentaire.
Ubuntu utilise pulseaudio comme sounderver. Il peut être contrôlé à partir de la ligne de commande à l'aide de la
pactl
etpacmd
des services publics, par exemple:serait de régler le volume de l'évier de #0 à 20%.
voir:
man pactl
etpacmd help
edit:
pour éviter
-xx
être interprété comme option de ligne de commande, vous devez préfixer avec--
. Qui s'arrête option d'analyse à partir de ce point:pactl set-sink-volume 0 -10%
me donne l'erreur "pactl: invalid option -- '1'"amixer -D pulse sset Master 5%+
pacmd dump-volumes
produit une sortie, mais ce n'est pas vraiment sympathique à analyser (écrit de bienvenue et l'invite à stdout). Sinon,amixer -D pulse get Master
peut être une option...Je le fais à l'aide de mixeur ALSA. Vous avez probablement besoin de télécharger python-alsaaudio
Puis à contrôler le volume,
Lire http://pyalsaaudio.sourceforge.net/libalsaaudio.html savoir sur alsaaudio de la bibliothèque dans les détails.
amixer commande a travaillé dans Ubuntu 13.04,
Augmenter le volume de 5%
amixer -D pulse sset Master 5%+
Diminuer le volume de 5%
amixer -D pulse sset Master 5%-
pactl ou pacmd ne fonctionne pas pour moi correctement dans Ubuntu 13.04.
amixer set Master 10-
et vos commandes fonctionnent pour moi, merci!Sale extrait de lire le volume (n'oubliez pas de volume va passé "100%" sur ubuntu - à quel point cela renvoie ~0.66).
Vous pouvez également essayer la simple et élégant ponymix utill. Il devient très facile pour augmenter/diminuer le volume, interrupteur à bascule (désactiver/activer), l'audio, etc.
D'abord obtenir une liste des sources audio avec
ponymix
Dans mon cas, je peux voir à la fois un évier 0 et un source 0. Je peux utiliser soit le nombre 0 ou le nom complet, Built-in Audio Stéréo Numérique (HDMI), pour contrôler l'audio.
Augmenter le volume de la carte de 0 à 5%:
ponymix -c 0 increase 5
Diminuer le volume de la carte de 0 à 5%:
ponymix -c 0 decrease 5
Je peux recommander cet outil qui contrôle pulseaudio:
https://github.com/graysky2/pulseaudio-ctl