58 votes

Comment basculer le son avec amixer ?

Avec Natty, j'ai toujours été en mesure d'activer ou de désactiver le volume du son "maître" avec le bouton de la souris.

amixer sset Master toggle

que j'ai liée à une liaison de bord dans CompizConfig-Manager.

Maintenant, après avoir installé Oneiric, la commande coupe le son mais ne le rétablit pas. J'ai même essayé dans le Terminal mais ça ne marche pas non plus. Il change ' Mono : Lecture 68 [78%] [-14.25dB] [off] Mais le son reste coupé et je dois le rétablir via l'indicateur de son du panneau.

Comment puis-je le faire fonctionner à nouveau ? Qu'est-ce qui a changé depuis Natty ? Quelqu'un connaît-il la commande utilisée par le 'sound-indicator' pour changer le volume du son ?

69voto

Todd Roper Points 31

Cela fonctionne pour moi sur 13.04, à la fois en sourdine et en sourdine :

amixer -D pulse set Master 1+ toggle

Il spécifie l'audio pulsé pour assurer le démute, démute tout.

17voto

We Are All Monica Points 323

J'utilise ce script comme solution de rechange :

#!/bin/bash

CURRENT_STATE=`amixer get Master | egrep 'Playback.*?\[o' | egrep -o '\[o.+\]'`

if [[ $CURRENT_STATE == '[on]' ]]; then
    amixer set Master mute
else
    amixer set Master unmute
    amixer set Front unmute
    amixer set Headphone unmute
fi

J'ai fait une différence de amixer scontents avant d'appeler amixer set Master mute et après l'avoir appelé et avoir tout débranché en utilisant l'interface graphique pour déterminer ce qui devait être débranché.


  1. Avec son sur le type amixer scontents > ~/before (vous obtiendrez un fichier avec l'état de tous les canaux sonores)
  2. Puis basculer le volume avec amixer set Master toggle
  3. Créez un deuxième fichier d'état de chanel avec amixer scontents > ~/after
  4. Basculer le son à nouveau avec amixer set Master toggle qui est censé ramener le volume au niveau précédant la première commande de basculement.
  5. Créez un troisième fichier avec amixer scontents > ~/afterafter

Vous avez maintenant trois fichiers qui vous indiquent l'état des canaux sonores utilisés pour le son normal, qui sont mis en sourdine par amixer set Master toggle et qui ne sont pas réactivés par un nouveau débrayage avec la même commande.

Pour comparer facilement les fichiers et voir les différences (les canaux qui sont mis en sourdine et qui ne se rétablissent pas par la suite), vous pouvez utiliser meld du Centre des logiciels. Démarrez-le, ouvrez les trois fichiers et sur la barre de défilement vous pouvez voir où il y a des différences entre les fichiers. Utilisez les noms de canaux trouvés pour les ajouter au script décrit ci-dessus.

6voto

zulkamal Points 143

Je n'ai pas réussi à faire basculer le son correctement. Que j'utilise la CLI et que je tape Amixer sset Master toggle ou que j'appuie sur la touche HP pavillion media toggle, j'obtiens le même résultat : Si le son est activé et fonctionne, il désactive automatiquement le canal principal ET le canal PCM. Ensuite, lorsque j'appuie à nouveau sur le commutateur (cli ou touche), il active TOUJOURS le canal principal, mais laisse le canal PCM en sourdine. Pour mon installation (HP Pavilion DV6 exécutant Xubuntu Oneric), cela signifie que le son est désactivé même si le canal principal est activé. Lorsqu'il est exécuté à partir de CLI - mêmes résultats. Si, avec cli, je bascule PCM, il désactive également le canal maître et ne le réactive pas, bien qu'il bascule PCM correctement.

Le script qui a fonctionné était :

#!/bin/bash
    if amixer -c 0 get Master | grep -q off
then
    amixer set Master unmute
    amixer set PCM unmute

else
    amixer set Master mute
fi

Ensuite, j'ai utilisé les raccourcis clavier de Xubuntu (paramètres> gestionnaire de paramètres> clavier> raccourcis d'application) pour naviguer jusqu'au script (je l'ai appelé sndfx.sh et l'ai rendu exécutable en faisant un clic droit dans thunar et sous les permissions, j'ai coché make executable). Ensuite, je lui ai attribué la touche rapide HP Pavilion en appuyant sur cette touche. Maintenant, il bascule correctement - Génial. J'espère que cela aidera quelqu'un d'autre.

Paix

3voto

wlraider70 Points 173

Si je ne me trompe pas, il s'agit d'un bogue qui fait que d'autres canaux de mixage sont mis en sourdine et rétablis. Pour couper le son, essayez

amixer set Master 0 ;

Pour rétablir le son, essayez

amixer set Master 1%+ ; amixer set Master 7dB+ ;

1voto

Jakob Points 9951

Si vous voulez remplacer amixer dans .lircrc pour que votre télécommande fonctionne avec lirc, vous pouvez essayer les lignes suivantes. Soyez sûr d'avoir xmacro installé. Le contrôle du volume fonctionne à nouveau.

begin
        prog = irexec
        button = KEY_VOLUMEUP
        repeat = 1
        delay = 2
        config = echo KeyStrPress XF86AudioRaiseVolume KeyStrRelease XF86AudioRaiseVolume | xmacroplay $DISPLAY
end
begin
        prog = irexec
        button = KEY_VOLUMEDOWN
        repeat = 1
        delay = 2
        config = echo KeyStrPress XF86AudioLowerVolume KeyStrRelease XF86AudioLowerVolume | xmacroplay $DISPLAY
end
begin
        prog = irexec
        button = KEY_MUTE
        config = echo KeyStrPress XF86AudioMute KeyStrRelease XF86AudioMute | xmacroplay $DISPLAY
end

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X