A tecla Mute silencia Alsa e PulseAudio, mas ativa apenas o som Alsa

19

Quando pressiono a tecla mudo no meu teclado, tanto o canal mestre Alsa quanto o canal mestre PulseAudio ficam silenciados, pressionando-o novamente apenas o áudio principal do canal alsa, o canal mestre pulseaudio fica mudo. Resultado: sem som. Como faço para corrigir isso?

    
por Alfred Rupp 03.04.2012 / 22:51

10 respostas

10

Execute este comando:

amixer -D pulse set Master 1+ unmute
    
por Pajko 10.08.2012 / 12:00
19

é muito mais simples.

amixer -D pulse set Master Playback Switch toggle

configure isso como uma tecla de atalho para "Silenciar \ Ativar o som". controles de volume podem ser deixados como estão.

Hortelã 15 Companheiro - descobri por mim mesmo, funciona bem para mim.

    
por user197761 01.10.2013 / 16:45
5

Eu tive o mesmo problema ao executar o MATE desktop em um Debian Mint Debian Edition (201204).

A ação "Aumentar volume" não conseguiu ativar o volume. Percebi que o problema era com o Pulseaudio, mas o pacote mate-media-gstreamer e mate-settings-daemon-gstreamer foram instalados por padrão. Instalando mate-media-pulse e mate-settings-daemon-pulse (que desinstalaram mate-media-gstreamer e mate-settings-daemon-gstreamer ) e tadam ... A ação "Aumentar volume" conseguiu reativar o volume novamente!

Espero que isso também funcione para você!

    
por gari gari 03.12.2012 / 23:01
2

É um problema com o pulseaudio, os comandos para alsa ou amixer não irão enviar corretamente o som para o pulso. Quando comandos alsa enviam um sinal mudo, é um comando de alternância (envie o mesmo comando para ativar / desativar o som).

Agora, no pulseaudio, eles têm um código mudo e com mudo separado! Muitos relatam que desinstalar o pulseaudio resolverá o problema, mas para alguns isso não é realmente uma resposta aceitável (como eu, porque o pulso é útil para muitos aplicativos).

Então, para resolver isso, precisamos fazer um script,

1- Crie um novo documento vazio em um editor de texto como o gedit ou o mousepad,

2- Cole este código no documento, Soruce of 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- Nomeie o arquivo "volume" (nenhuma extensão necessária) coloque em algum lugar que você possa encontrar e não o exclua como sua pasta pessoal

4- Torne o arquivo executável clicando com o botão direito do mouse no arquivo, vá em Propriedades, depois na guia Permissões e use a caixa de seleção para marcá-lo como executável, isso permitirá que o script seja executado. mark-file-as-executible-gui

5- Depois precisamos ligar os comandos ao teclado, os comandos para o código são aumentar, diminuir e silenciar.

Então, vá para as configurações do teclado - how-do- i-mudar-meu-teclado-atalhos-em-xubuntu , na área de atalhos de teclado, clique em adicionar, abra, abra o arquivo "volume" que criamos e adicione o comando para o código após o volume, lendo aumento de volume ou volume mudo ect. mas com a localização de onde o arquivo de código está antes, como "/ home / username / volume mudo"

Em seguida, atribua-o ao teclado pressionando a tecla ou, se a tecla já estiver sendo usada,
~ Provavelmente o caso ~ encontre-os e substitua o comando.

Os principais atalhos provavelmente são chamados de XF86AudioRaiseVolume, XF86AudioLowerVolume, XF86AudioMute . Já que apenas o mudo está quebrado, concentre seus esforços em mudar isso primeiro.

Bug: 1

    
por Mateo 03.04.2012 / 23:59
1

Veja:

link

O xfce4-mixer tem uma configuração para active-card , que deve ser definida como Pulseaudio, caso contrário, será usado o Alsa.

    
por Grumbel 04.11.2012 / 18:56
1

Trabalhei para mim no dia 12.10:

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

Para usuários do KDE e do kmix, se você usar esse script, ainda terá o feedback visual funcionando:

#! /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

Uso:

1) Salve como ~ / bin / mixctl
2) Desmapear os atalhos de teclado kmix padrão para Aumentar volume / Diminuir volume e Mudo
3) Crie três novos atalhos de teclado personalizados chamados 'Aumentar volume', 'Diminuir volume' e 'Mudo'
- > tipo de atalho: comando
- > como os comandos usam ~ / bin / mixctl volup , ~ / bin / mixctl voldn e ~ / bin / mixctl mudo respectivamente

    
por EleotleCram 21.05.2013 / 15:07
1

Eu tive o mesmo problema em várias máquinas Xubuntu 12.04 que foram atualizadas para o XFCE 4.10. Aqui está uma maneira muito rápida de resolver este problema a partir da linha de comando (ou com um script bash ).

Ao contrário das soluções anteriores que oferecem scripts de intervalo de parada, essa solução restaura totalmente a função do botão ativar / desativar som.

Basta emitir os dois comandos a seguir uma vez para resolver o problema de uma vez por todas:

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

Eu encontrei uma solução simples que funciona bem para mim neste fórum . Em detalhes, você precisa adicionar isso a /etc/asound.conf :

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

Em seguida, defina um atalho de teclado para a tecla mudo com o comando sendo:

amixer set Master toggle
    
por Trung Ta 29.08.2014 / 09:34
0

Você pode usar as configurações do teclado para definir o botão mudo para executar o comando encontrado AQUI . Embora o primeiro método listado neste link fosse inútil para mim, o segundo funciona muito bem para o XFCE4: $ pactl set-sink-mute 0 toggle . Você também pode criar um script ou lançador para executar o comando no clique do mouse.

FYI, se você estiver usando algo como o Cinnamon (e provavelmente outros desktops baseados no gnome) A sugestão acima do user197761 parece melhor, como o applet de som da canela reconhece que o volume está mudo: amixer -D pulse set Master Playback Switch toggle (se você gostar deste último comando, por favor vote sua resposta, não a minha.)

    
por TSJNachos117 23.04.2014 / 05:58