Comando para silenciar y activar un micrófono

23

Durante las conversaciones de voz / video en línea, me gustaría silenciar / activar el micrófono sin tener que seguir todos estos pasos cada vez:

  • Indicador de sonido, Preferencias de sonido, Seleccionar entrada, Silenciar o activar el micrófono.

Estoy buscando cualquiera:

  • una aplicación que puede hacer esto desde la línea de comandos,
  • una forma en que puedo asignar un atajo de teclado que puede silenciar / activar el micrófono
Lucian Adrian Grijincu
fuente
1
Si usa Empathy para el chat de voz, tiene un botón de silencio incorporado (que funciona con Google Talk al menos, Skype aún no es compatible).
JanC
Estoy buscando algo que se pueda hacer que se ejecute a través de un acceso directo, similar al botón de alternar el volumen principal para silenciar / activar el volumen del portátil.
Lucian Adrian Grijincu

Respuestas:

32

Ir

Preferencias del sistema, luego Teclado y haga clic en Accesos directos y luego en Accesos directos personalizados:

Haga clic en Agregar

Llenar:

Toggle microphone

y

amixer set Capture toggle

Para las cámaras web usb, debe elegir el dispositivo (-c 1), o tal vez otro número.

amixer -c 1 sset Mic toggle

Haga clic en Aplicar y luego asocie una nueva clave con este comando (por ejemplo, la Pause/Breakclave).

Lucian Adrian Grijincu
fuente
¿Funciona esto con lanzamientos recientes? Gracias.
Diego V
1
Funciona; Gracias a Lucian. Tengo una tecla "Audio mute" en mi computadora portátil, la asigné a shift + Audio mute, que es muy fácil de recordar :)
Pierre-Antoine
El comando amixer set Mic toggle(no Capture) funciona para mí en la terminal, pero parece que no se ejecuta ningún método abreviado de teclado asignado. Lo intenté ctrl+Audio Mutepero también ctrl+M(capturado por las pulsaciones de teclas del teclado)
Jason Kleban
Confirmado, esto también funciona con Ubuntu 16.10.
Kushal
En MATE, los menús para agregar la combinación de teclas son un poco diferentes, pero funcionan de la misma manera. ¡Gracias!
Stephen Angelico
9

Puedes silenciar el micrófono con

amixer set Capture nocap

y activar el micrófono con

amixer set Capture cap
Hickersson
fuente
1
que funcionó muy bien con la frambuesa pi, excepto que sustituye la captura por Mic para captura
WhiskerBiscuit
6

pacmdes la interfaz de línea de comandos para PulseAudio (el subsistema de sonido utilizado en versiones recientes). No sé cuál es el comando exacto que necesitarías, pero creo que te gustaría jugar con la set-sink-input-mutefunción.

pacmd es interactivo cuando se ejecuta sin instrucciones, por lo que tiene una buena oportunidad de jugar con él y convertirlo en una función de una línea para alternar el silencio.

Oli
fuente
pacmd solo es interactivo si no le das ningún comando. Solía pacmd list-sourcesobtener una lista de entradas y salidas. Bajo el índice 2 tuve una entrada devide. (según su nombre) Luego puede ejecutar pacmd set-source-mute 2 1para silenciar. El último parámetro es un booleano para el estado de silencio. 0 o falso para no silenciar y 1 o verdadero para silenciar.
Vitaly
4
amixer set Capture toggle && amixer get Capture | grep '\[off\]' && notify-send "MIC switched OFF" || notify-send "MIC switched ON"
vladimirich
fuente
Me gusta la forma en que combinas grep y notificaciones: Super Neat =)
Musa Al-hassy
3

Para alternar el silencio del micrófono predeterminado en pulseaudio:

  1. Asegúrese de tener pacmd(desde el pulseaudio-utilspaquete) y notify-send(desde libnotify-bin).
  2. Usa 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;}'
Aleksey Alekseev
fuente
3

Simplemente silencia / activa con este comando:

amixer -D pulse sset Capture toggle

También puede agregar una notificación para asegurarse de que esté activada o desactivada, según la respuesta de vladimirich a la misma pregunta

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

Inspirado por el comentario de Mark Rooney para silenciar / activar el sonido.

kujaw
fuente
2
Esto realmente funciona para mí en Ubuntu 16.04. -qse puede omitir
gronostaj
1
bindsym XF86AudioMicMute exec --no-startup-id amixer -D pulse sset Capture toggleparai3wm
Kristof Tak el
¡Este comando funciona para mí en Pop_OS! 19.10 (que se basa en Ubuntu 19.10). Uno puede deshabilitar explícitamente la captura de micrófono con el comando amixer --device pulse sset Capture nocapy convertir el volumen de captura al 0% simultáneamente con el comando amixer --device pulse sset Capture nocap 0%.
Patrick Dark
1

Puedes silenciar con:

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

Dejar de silenciar:

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

Solo necesita reemplazar 'Master' con el nombre apropiado del mezclador, en el terminal use "amixer" para obtener una lista de dispositivos mezcladores.

Acerca de configurar el atajo de teclado, verifique las respuestas para ¿Cómo puedo encontrar qué comando está vinculado a un atajo de teclado dado?

João Pinto
fuente
Estos silencian el sonido de mis altavoces, no el micrófono, pero gracias.
Lucian Adrian Grijincu
Solo necesita reemplazar 'Master' con el nombre apropiado del mezclador, en el terminal use "amixer" para obtener una lista de dispositivos mezcladores.
João Pinto
Esto parece funcionar: # amixer establece la palanca de captura
Lucian Adrian Grijincu
¿Puedes editar tu respuesta (no tengo el karma necesario) para incluir esta respuesta, así que la aceptaré?
Lucian Adrian Grijincu
1

Complementando la respuesta de Lucian Adrian Grijincu y vladimirich

Agregue la visualización de un mensaje habilitando / deshabilitando el micrófono.

Ejecute varios comandos en el comando de acceso directo:

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

Basado en la respuesta anterior /ubuntu//a/337662/106182

Me gusta crear mis propios terminalatajos estúpidos. Entonces, para configurar m= mudo; mm= no silenciar

Agregué esto a ./.bashrc

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

actualizar

bastante interesante, ayer volví a habilitar el menu> sessions and startup > Application Autostartinicio automático de "Screen Locker (Iniciar el programa de bloqueo de pantalla) en y ahora mi botón de silencio de hardware comienza a funcionar (después de reiniciar) No tengo idea de por qué (XFCE Xubuntu 18.08)

Todavía mantengo esos atajos de terminal, pero solo quería señalar

equivalente8
fuente
0

Cambio entre una cámara web / micrófono USB y mi micrófono interno y las otras soluciones suelen funcionar en el dispositivo "predeterminado", que a menudo no es el dispositivo que estoy usando activamente, así que escribí esto para silenciar todos los micrófonos

pacmd list-sources | \
        grep -oP 'index: \d' | \
        awk '{ print $2 }' | \
        xargs -I{} pactl set-source-mute {} toggle
blockloop
fuente