Comando para silenciar e ativar o som de um microfone


23

Durante conversas on-line por voz / vídeo, eu gostaria de silenciar / ativar o som do microfone sem ter que executar todas essas etapas a cada vez:

  • Indicador de som, Preferências de som, Selecione Entrada, Silenciar ou ativar o som do microfone.

Eu estou procurando por:

  • um aplicativo que pode fazer isso na linha de comando,
  • uma maneira de atribuir um atalho de teclado que pode silenciar / ativar o som do microfone

1
Se você usa o Empathy para bate-papo por voz, ele possui um botão de silenciar (que funciona pelo menos com o Google Talk, o Skype ainda não é suportado).
— JanC

Estou procurando por algo que possa ser executado para executar um atalho, semelhante ao botão principal de alternar entre silenciar / ativar o som do laptop.
— Lucian Adrian Grijincu

Respostas:


32

Vamos para

Preferências do Sistema, Teclado e clique em Atalhos e em Atalhos Personalizados:

Clique em Adicionar

Preencha:

Toggle microphone

e

amixer set Capture toggle

Para webcams USB, você precisa escolher o dispositivo (-c 1), ou talvez outro número.

amixer -c 1 sset Mic toggle

Clique em Aplicar e, em seguida, associar uma nova chave com este comando (por exemplo, a Pause/Breakchave).


Funciona isso com lançamentos recentes? Obrigado.
— Diego V

1
Isso funciona; graças ao Lucian. Eu tenho uma tecla "mute de áudio" no meu laptop, eu mapeado-lo a mudar mudo + Áudio, que é muito fácil de lembrar :)
— Pierre-Antoine

O comando amixer set Mic toggle(not Capture) funciona para mim no terminal, mas qualquer atalho de teclado atribuído não parece ser executado. Eu tentei ctrl+Audio Mute, mas também ctrl+M(capturado por pressionamento de teclas do teclado)
— Jason Kleban

Confirmado, isso funciona com o Ubuntu 16.10 também.
— Kushal #

No MATE, os menus para adicionar a combinação de teclas são um pouco diferentes, mas funcionam da mesma maneira. Obrigado!
— 11136 Stephen Angelico

9

Você pode silenciar o microfone com

amixer set Capture nocap

e mude o microfone com

amixer set Capture cap

1
que funcionou muito bem com pi framboesa, exceto que você substituir Mic para Captura
— WhiskerBiscuit

6

pacmdé a interface da linha de comandos do PulseAudio (o subsistema de som usado em versões recentes). Não sei qual é o comando exato que você precisa, mas acho que você gostaria de jogar com a set-sink-input-mutefunção.

pacmd é interativo quando executado sem instruções, para que você tenha uma boa oportunidade de brincar com ele e convertê-lo em uma função de uma linha para alternar o som.


pacmd é apenas interativo se você não der nenhum comando. Eu costumava pacmd list-sourcesobter uma lista de entradas e saídas. No índice 2, tive uma entrada de dados. (com base no nome) Em seguida, você pode correr pacmd set-source-mute 2 1para silenciar. O último parâmetro é um valor booleano para o estado mudo. 0 ou falso para mudo e 1 ou verdadeiro para mudo.
— Vitaly

4
amixer set Capture toggle && amixer get Capture | grep '\[off\]' && notify-send "MIC switched OFF" || notify-send "MIC switched ON"

Eu gosto da maneira em que você combinar grep e notificações: Super Neat =)
— Musa Al-Hassy


3

Para alternar o som do microfone padrão no pulseaudio:

  1. Verifique se você possui pacmd(do pulseaudio-utilspacote) e notify-send(de libnotify-bin).
  2. Use este script:
#!/bin/sh

pacmd list-sources | awk '\
BEGIN {default_found=0;}

/^[\t ]*\*/ {default_found=1;}

/^[\t ]*name:/ {
    if (default_found) {
        name=$2;
        gsub("[<>]", "", name);
    }
}

/^[\t ]*muted:/ {
    if (default_found) {
        if ($2=="yes") {
            mute=0;
            icon="microphone-sensitivity-medium";
            status="unmuted"
        } else {
            mute=1;
            icon="microphone-sensitivity-muted";
            status="muted"
        }
        system("pacmd set-source-mute " name " " mute);
        system("notify-send --expire-time 1000 --icon " icon " Microphone: " status);
        exit;
    }
}

/^[\t ]*index:/{if (default_found) exit;}'

3

Basta silenciar / ativar o som com este comando:

amixer -D pulse sset Capture toggle

Você também pode adicionar uma notificação para garantir que ela esteja ativada ou desativada, de acordo com a resposta de vladimirich à mesma pergunta

amixer -D pulse sset Capture toggle && amixer get Capture | grep '\[off\]' && notify-send "MIC switched OFF" || notify-send "MIC switched ON"

Inspirado no comentário de Mark Rooney para som sem som / sem som.


2
Isso realmente funciona para mim no Ubuntu 16.04. -qpode ser pulado.
— gronostaj

1
bindsym XF86AudioMicMute exec --no-startup-id amixer -D pulse sset Capture togglefori3wm
— Kristof Tak

Este comando funciona para mim no Pop_OS! 19.10 (que é baseado no Ubuntu 19.10). Pode-se desabilitar explicitamente a captura de microfone com o comando amixer --device pulse sset Capture nocape aumentar o volume de captura para 0% simultaneamente com o comando amixer --device pulse sset Capture nocap 0%.
— Patrick Dark

1

Você pode silenciar com:

/usr/bin/amixer -q -c 0 sset 'Master',0 mute

Ativar som:

/usr/bin/amixer -q -c 0 sset 'Master',0 unmute

Você só precisa substituir 'Master' pelo nome apropriado do mixer, no terminal, use "amixer" para obter uma lista de dispositivos do mixer.

Sobre a configuração do atalho de teclado, verifique as respostas em Como posso descobrir qual comando está associado a um determinado atalho de teclado?


Eles silenciam o som dos meus alto-falantes, não do microfone, mas obrigado.
— Lucian Adrian Grijincu

Você só precisa substituir 'Master' pelo nome apropriado do mixer, no terminal, use "amixer" para obter uma lista de dispositivos do mixer.
— João Pinto

Isso parece funcionar: # amixer set Capture toggle
— Lucian Adrian Grijincu

Você pode editar sua resposta (não tenho o karma necessário) para incluir esta resposta, então eu a aceito?
— Lucian Adrian Grijincu

1

Complementando a resposta de Lucian Adrian Grijincu e vladimirich

Adicione a exibição de uma mensagem ativando / desativando o microfone.

Execute vários comandos no comando de atalho:

$ sh -c "amixer set Capture toggle ; amixer get Capture | \
     grep '\[off\]' && notify-send 'MIC switched OFF' || notify-send 'MIC switched ON'"

0

Com base na resposta acima /ubuntu//a/337662/106182

Eu gosto de criar meus próprios terminalatalhos estúpidos. Então configrar m= mudo; mm= ativar o som

Eu adicionei isso a ./.bashrc

# ~/.bashrc
# 
alias m="amixer set Capture nocap"
alias mm="amixer set Capture cap"

atualizar

interessante o suficiente, ontem eu reativei a inicialização automática do "Screen Locker (iniciar o programa de bloqueio de tela) no menu> sessions and startup > Application Autostarte agora meu botão de silenciar o hardware começa a funcionar (após a reinicialização). Eu não tenho idéia do porquê (XFCE Xubuntu 18.08)

Eu ainda estou mantendo esses atalhos de terminal, mas só queria ressaltar


0

Alterno entre uma webcam / microfone USB e meu microfone interno e as outras soluções normalmente funcionam no dispositivo "padrão", que geralmente não é o dispositivo que estou usando ativamente, então escrevi para silenciar todos os microfones

pacmd list-sources | \
        grep -oP 'index: \d' | \
        awk '{ print $2 }' | \
        xargs -I{} pactl set-source-mute {} toggle
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.