Tasto muto silenzia Alsa e PulseAudio, ma riattiva solo Alsa

19

Quando premo il tasto di silenziamento sulla mia tastiera, sia il canale master Alsa che il canale master PulseAudio si disattivano, premendolo di nuovo si riattiva solo il canale master di alsa, il canale master di pulseaudio rimane disattivato. Risultato: nessun suono. Come posso risolvere il problema?

    
posta Alfred Rupp 03.04.2012 - 22:51

10 risposte

10

Esegui questo comando:

amixer -D pulse set Master 1+ unmute
    
risposta data Pajko 10.08.2012 - 12:00
19

è molto più semplice però.

amixer -D pulse set Master Playback Switch toggle

imposta questo come tasto di scelta rapida su "Disattiva audio / Attiva audio". i controlli del volume possono essere lasciati così come sono.

Mint 15 Mate - capito da solo, funziona bene per me.

    
risposta data user197761 01.10.2013 - 16:45
5

Ho avuto lo stesso problema con il desktop MATE su Linux Mint Debian Edition (201204).

L'azione

"Aumenta volume" non è stata in grado di riattivare il volume. Mi sono reso conto che il problema era con Pulseaudio, ma il pacchetto mate-media-gstreamer e mate-settings-daemon-gstreamer dove installato per impostazione predefinita. Installando mate-media-pulse e mate-settings-daemon-pulse (quella disinstallata mate-media-gstreamer e mate-settings-daemon-gstreamer ) e tadam ... l'azione "Aumenta volume" è stata in grado di riattivare il volume!

Spero che questo funzioni anche per te!

    
risposta data gari gari 03.12.2012 - 23:01
2

È un problema con pulseaudio, i comandi per alsa o amixer non invieranno correttamente l'audio al polso. Quando i comandi di alsa inviano un segnale di silenziamento, è un comando di commutazione (invia lo stesso comando per attivare / disattivare l'audio).

Ora a pulseaudio hanno un codice muto e unmuto separato! Molti riferiscono che l'installazione non corretta di pulseaudio risolverà il problema, ma per alcuni non è una risposta accettabile (come me, perché l'impulso è utile per molte app).

Quindi per risolvere questo è necessario creare uno script,

1- Crea un nuovo documento vuoto in un editor di testo come gedit o mousepad,

2- Incolla questo codice nel doccumento, Soruce del codice: 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 [[  == "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 [[  == "decrease" ]]
then
    CURVOL=$(($CURVOL - 3277))
    if [[ $CURVOL -le 0 ]]
    then
        CURVOL=0        
    fi
elif [[  == "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- Assegna un nome al "volume" del file (non è necessaria alcuna estensione) mettilo da qualche parte che puoi trovare e non lo eliminerà come nella tua cartella home

4- Rendi eseguibile il file facendo clic con il pulsante destro del mouse sul file, vai su Proprietà, quindi sulla scheda Autorizzazioni e utilizza la casella di controllo per contrassegnarlo come eseguibile, consentendoti di eseguire lo script. mark-file-come-executible-gui

5- Avanti dobbiamo collegare i comandi alla tastiera, i comandi per il codice sono aumenti, diminuiscono e disattivano.

Quindi vai alle impostazioni della tastiera - how-do- i-change-my-keyboard-shortcuts-in-xubuntu , Nell'area tasti di scelta rapida, fai clic su aggiungi, quindi apri, apri il file "volume" che abbiamo creato, quindi aggiungi il comando per il codice dopo il volume, leggendo aumento del volume o volume silenziato ect. ma con la posizione in cui il file di codice è preceduto da "/ home / username / volume mute"

Quindi assegnalo alla tastiera premendo il tasto, o se la chiave è già in uso,
~ Molto probabilmente il caso ~ li trova e sostituisce il comando.

Le scorciatoie da tastiera sono probabilmente chiamate XF86AudioRaiseVolume, XF86AudioLowerVolume, XF86AudioMute . Dal momento che solo il muto è rotto, concentrati i tuoi sforzi nel cambiarlo prima.

Bug: 1

    
risposta data Mateo 03.04.2012 - 23:59
1

See:

link

xfce4-mixer ha un'impostazione per active-card , che deve essere impostata su Pulseaudio, altrimenti userà Alsa.

    
risposta data Grumbel 04.11.2012 - 18:56
1

Ho lavorato per me il 12.10:

    #!/bin/sh
    amixer -c 0 sset Master,0 mute
    sleep 5
    amixer -D pulse set Master 1+ unmute
    
risposta data user123241 21.03.2013 - 21:24
1

Per gli utenti di KDE e kmix, se utilizzi questo script continuerai a utilizzare il feedback visivo:

#! /bin/bash

DBUS=qdbus 2> /dev/null

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

Utilizzo:

1) Salvalo come ~ / bin / mixctl 2) Non mappare le scorciatoie da tastiera kmix predefinite per Volume su / Volume giù e Disattiva audio 3) Crea tre nuove scorciatoie da tastiera personalizzate denominate "Aumenta volume", "Abbassa volume" e "Disattiva audio"
- & gt; tipo di collegamento: comando
- & gt; poiché i comandi usano ~ / bin / mixctl volup , ~ / bin / mixctl voldn e ~ / bin / mixctl mute rispettivamente

    
risposta data EleotleCram 21.05.2013 - 15:07
1

Ho avuto lo stesso problema su più macchine Xubuntu 12.04 che sono state aggiornate a XFCE 4.10. Ecco un modo molto rapido per risolvere questo problema dalla riga di comando (o con uno script bash ).

A differenza delle precedenti soluzioni che offrono script stop-gap, questa soluzione ripristina completamente la funzione del pulsante muto / riattiva.

Basta emettere i seguenti due comandi una volta, per risolvere il problema una volta per tutte:

$ 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'
    
risposta data Serge Stroobandt 20.02.2014 - 19:25
1

Ho trovato una soluzione semplice che funziona bene per me in questo forum . In dettaglio, devi aggiungerlo a /etc/asound.conf :

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

E poi imposta una scorciatoia da tastiera per il tasto muto con il comando che è:

amixer set Master toggle
    
risposta data Trung Ta 29.08.2014 - 09:34
0

Puoi usare le impostazioni della tastiera per impostare il pulsante mute per eseguire il comando trovato QUI . Sebbene il primo metodo elencato su questo collegamento fosse inutile per me, il secondo funziona perfettamente con XFCE4: $ pactl set-sink-mute 0 toggle . Puoi anche creare uno script o un launcher per eseguire il comando al clic del mouse.

FYI, se stai usando qualcosa come Cinnamon (e probabilmente altri desktop basati su gnome) Il suggerimento sopra di user197761 sembra meglio, dato che l'applet del suono di cinnamon riconosce che il volume è silenziato: amixer -D pulse set Master Playback Switch toggle (se ti piace quest'ultimo comando, per favore invali la sua risposta, non la mia.)

    
risposta data TSJNachos117 23.04.2014 - 05:58

Leggi altre domande sui tag