web-dev-qa-db-fra.com

La touche Muet coupe les sons Alsa et PulseAudio, mais active uniquement le son Alsa

Lorsque j'appuie sur la touche de sourdine de mon clavier, le canal principal Alsa et le canal principal PulseAudio sont tous deux mis en sourdine. Appuyez de nouveau sur cette touche pour réactiver le canal principal alsa. Le canal principal pulseaudio reste en sourdine. Résultat: pas de son. Comment puis-je résoudre ce problème?

19
Alfred Rupp

Exécutez cette commande:

amixer -D Pulse set Master 1+ unmute
11
Pajko

c'est beaucoup plus simple cependant.

amixer -D Pulse set Master Playback Switch toggle

définissez ceci comme raccourci clavier sur "Muet\Non muet". les commandes de volume peuvent être laissées telles quelles.

Mint 15 Mate - compris par moi-même, fonctionne bien pour moi.

20
user197761

J'ai eu le même problème avec MATE desktop sur une édition Linux Mint Debian (201204).

L'action "augmentation du volume" n'a pas pu rétablir le son. J'ai réalisé que le problème venait de Pulseaudio, mais le paquetage mate-media-gstreamer et mate-settings-daemon-gstreamer était installé par défaut. En installant mate-media-Pulse et mate-settings-daemon-Pulse (désinstallé mate-media-gstreamer et mate-settings-daemon-gstreamer) et tadam ..., l'action "Augmenter le volume" a permis de réactiver le volume!

J'espère que cela fonctionnera aussi pour vous!

5
gari gari

C'est un problème avec pulseaudio, les commandes pour alsa ou amixer n'enverront pas correctement l'activation du son à Pulse. Lorsque toutes les commandes envoient un signal de sourdine, il s’agit d’une commande à bascule (envoyer la même commande pour couper/rétablir le son).

Maintenant, en pulseaudio, ils ont un code muet et un code muet séparés! Beaucoup signalent que la désinstallation de pulseaudio résoudra le problème, mais pour certains ce n'est pas vraiment une réponse acceptable (comme moi, parce que Pulse est utile pour de nombreuses applications).

Donc, pour résoudre ce problème, nous devons créer un script,

1- Créez un nouveau document vide dans un éditeur de texte tel que gedit ou mousepad,

2- Collez ce code dans le doccument, Soruce du code: 2

#!/bin/bash
#### Create ~/.Pulse/mute if not exists
ls ~/.Pulse/mute &> /dev/null
if [[ $? != 0 ]]
then
    echo "false" > ~/.Pulse/mute
fi

####Create ~/.Pulse/volume if not exists
ls ~/.Pulse/volume &> /dev/null
if [[ $? != 0 ]]
then
    echo "65536" > ~/.Pulse/volume
fi

CURVOL=`cat ~/.Pulse/volume`     #Reads in the current volume
MUTE=`cat ~/.Pulse/mute`          #Reads mute state

if [[ $1 == "increase" ]]
then
    CURVOL=$(($CURVOL + 3277)) #3277 is 5% of the total volume, you can change this to suit your needs.
    if [[ $CURVOL -ge 65536 ]]
    then
        CURVOL=65536        
    fi
Elif [[ $1 == "decrease" ]]
then
    CURVOL=$(($CURVOL - 3277))
    if [[ $CURVOL -le 0 ]]
    then
        CURVOL=0        
    fi
Elif [[ $1 == "mute" ]]
then
    if [[ $MUTE == "false" ]]
    then
        pactl set-sink-mute 0 1
        echo "true" > ~/.Pulse/mute
    exit    
    else
        pactl set-sink-mute 0 0
        echo "false" > ~/.Pulse/mute    
    exit
    fi
fi

pactl set-sink-volume 0 $CURVOL
echo $CURVOL > ~/.Pulse/volume # Write the new volume to disk to be read the next time the script is run.

3- Nommez le fichier "volume" (sans extension) mettez-le à un endroit que vous pourrez trouver et ne le supprimera pas comme votre dossier personnel.

4- Rendre le fichier exécutable en cliquant avec le bouton droit de la souris sur le fichier, aller à Propriétés, puis sur l'onglet Autorisations, et utiliser la case à cocher pour le marquer comme exécutable. Le script pourra alors être exécuté. mark-file-as-executible-gui

5- Ensuite, nous devons relier les commandes au clavier, les commandes pour le code sont augmentation, diminution et muet.

Alors, allez dans les paramètres du clavier - comment faire-je-changer mes raccourcis clavier dans xubunt , Dans la zone des raccourcis clavier, cliquez sur Ajouter, puis ouvrez, Ouvrez le fichier "volume" nous avons créé, puis ajoutons la commande pour le code après volume, lisant augmentation du volume , ou volume muet ect. mais avec l'emplacement d'où le fichier de code est devant, comme "/ home/nom d'utilisateur/volume muet"

Puis assignez-le au clavier en appuyant sur la touche, ou si la touche est déjà utilisée,
~ Très probablement le cas ~ trouvez-les et remplacez la commande.

Les raccourcis clavier sont probablement appelés XF86AudioRaiseVolume, XF86AudioLowerVolume, XF86AudioMute . Étant donné que seul le muet est brisé, concentrez-vous d'abord sur vos efforts.

Bug: 1

2
Mateo

J'ai trouvé une solution simple qui fonctionne bien pour moi dans ce forum . En détail, vous devez ajouter ceci à /etc/asound.conf:

pcm.Pulse {
    type Pulse
}
ctl.Pulse {
    type Pulse
}
pcm.!default {
    type Pulse
}
ctl.!default {
    type Pulse
}

Et puis définissez un raccourci clavier pour la touche secret avec la commande étant:

amixer set Master toggle
1
Trung Ta

J'ai eu le même problème sur plusieurs machines Xubuntu 12.04 qui ont été mises à niveau vers XFCE 4.10. Voici un moyen très rapide de résoudre ce problème à partir de la ligne de commande (ou avec un script bash).

Contrairement aux solutions précédentes qui offraient des scripts de transition, cette solution restaure intégralement la fonction du bouton mute/unmute.

Il vous suffit d’émettre les deux commandes suivantes une fois pour résoudre le problème une fois pour toutes:

$ xfconf-query --channel xfce4-mixer --property /active-card --set PlaybackInternalAudioAnalogStereoPulseAudioMixer --reset
$ xfconf-query --create --channel xfce4-keyboard-shortcuts --property /commands/custom/XF86AudioMute --type string --set 'amixer -D Pulse set Master 1+ toggle'
1
Serge Stroobandt

Travaillé pour moi le 12.10:

    #!/bin/sh
    amixer -c 0 sset Master,0 mute
    sleep 5
    amixer -D Pulse set Master 1+ unmute
1
Brendan

Voir:

https://bugs.launchpad.net/xfce4-volumed/+bug/883485/comments/

xfce4-mixer a un paramètre pour active-card, qui doit être défini sur Pulseaudio, sinon il utilisera Alsa.

1
Grumbel

Pour les utilisateurs de KDE et de kmix, si vous utilisez ce script, le retour visuel fonctionne toujours:

#! /bin/bash

DBUS=qdbus 2> /dev/null

case "$1" in
  volup)
        pactl set-sink-mute alsa_output.pci-0000_00_1b.0.analog-stereo 0
        ${DBUS} org.kde.kmix /kmix/KMixWindow/actions/increase_volume com.trolltech.Qt.QAction.trigger
        ;;
  voldn)
        pactl set-sink-mute alsa_output.pci-0000_00_1b.0.analog-stereo 0
        ${DBUS} org.kde.kmix /kmix/KMixWindow/actions/decrease_volume com.trolltech.Qt.QAction.trigger
        ;;
  mute)
        ${DBUS} org.kde.kmix /kmix/KMixWindow/actions/mute com.trolltech.Qt.QAction.trigger
        pactl set-sink-mute alsa_output.pci-0000_00_1b.0.analog-stereo $(${DBUS} org.kde.kmix /Mixers/0/Master_0 org.kde.KMix.Control.mute | sed 's/false/0/g;s/true/1/g')
        ;;
  *)
    echo "Usage: mixctl <volup|voldn|mute>" >&2
    exit 1
    ;;
esac

exit 0

Usage:

1) Enregistrez-le sous le format ~/bin/mixctl
2) Supprimez les raccourcis clavier kmix par défaut pour Volume Up/Volume Down et Mute
3) Créez trois nouveaux raccourcis clavier personnalisés nommés 'Augmenter le volume', 'Réduire le volume' et 'Muet'
-> type de raccourci: commande
-> que les commandes utilisent ~/bin/mixctl volup, ~/bin/mixctl voldn et ~/bin/mixctl mute respectivement

1
EleotleCram

Vous pouvez utiliser les paramètres du clavier pour définir le bouton Muet afin d’exécuter la commande trouvée ICI . Bien que la première méthode indiquée sur ce lien ait été inutile pour moi, la seconde fonctionne parfaitement pour XFCE4: $ pactl set-sink-mute 0 toggle. Vous pouvez également créer un script ou un programme de lancement pour exécuter la commande en un clic de souris.

Pour votre information, si vous utilisez quelque chose comme Cinnamon (et probablement d'autres ordinateurs de bureau basés sur gnome), user197761 suggestion ci-dessus semble mieux, car l'applet son de cannelle reconnaît que le volume est coupé: amixer -D Pulse set Master Playback Switch toggle (si vous aimez cette dernière commande , s'il vous plaît, contrôlez sa réponse, pas la mienne.)

0
TSJNachos117