静音和取消静音麦克风的命令


23

在在线语音/视频对话期间,我想使麦克风静音/取消静音,而不必每次都经过所有这些步骤:

  • 声音指示器,声音首选项,选择输入,使麦克风静音或取消静音。

我正在寻找:

  • 可以从命令行执行此操作的应用程序,
  • 我可以分配一种可以使麦克风静音/取消静音的键盘快捷方式

1
如果您使用Empathy进行语音聊天,则会内置一个静音按钮(至少与Google Talk兼容,尚不支持Skype)。
2010年1

我正在寻找可以通过快捷方式运行的功能,类似于主音量静音/取消静音笔记本电脑切换按钮。
Lucian Adrian Grijincu 2010年

Answers:


32

系统偏好设置,然后是键盘,然后单击快捷方式,然后单击自定义快捷方式:

点击添加

填写:

Toggle microphone

amixer set Capture toggle

对于USB网络摄像头,您需要选择设备(-c 1)或其他号码。

amixer -c 1 sset Mic toggle

单击“应用”,然后将新密钥与此命令关联(例如,Pause/Break密钥)。


可以在最新版本中使用吗?谢谢。
Diego V

1
它确实有效;感谢露西安。我的笔记本电脑上有一个“音频静音”键,我将其映射为shift +音频静音,这很容易记住:)
Pierre-Antoine

该命令amixer set Mic toggle(not Capture)在终端机中对我有效,但是任何分配的键盘快捷键似乎实际上都没有运行。我已经尝试过,ctrl+Audio Mute但也ctrl+M(通过键盘按键捕捉到了)
Jason Kleban 2014年

确认,这也适用于Ubuntu 16.10。
库沙尔

在MATE上,用于添加键绑定的菜单略有不同,但是其工作方式相同。谢谢!
史蒂芬·安杰利科

9

您可以使用以下方法使麦克风静音

amixer set Capture nocap

并用取消静音

amixer set Capture cap

1
与树莓派效果很好,除了您可以用Mic代替Capture
WhiskerBiscuit,2014年

6

pacmd是PulseAudio(最新版本中使用的声音子系统)的命令行界面。我不知道您需要什么确切的命令,但我想您想使用该set-sink-input-mute功能。

pacmd 在没有说明的情况下运行时,它是交互式的,因此您有很好的机会试用它,并将其转换为单行功能以切换静音。


pacmd仅在不提供任何命令的情况下才是交互式的。我曾经pacmd list-sources获得输入和输出列表。在索引2下,我有一个输入对象。(基于其名称),然后您可以pacmd set-source-mute 2 1静音。最后一个参数是用于静音状态的布尔值。0或false表示取消静音,1或true表示静音。
维塔利2015年

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

我喜欢结合grep和通知的方式:Super Neat =)
Musa Al-hassy


3

要在Pulseaudio中切换默认麦克风的静音:

  1. 确保您拥有pacmd(来自pulseaudio-utils包)和notify-send(来自libnotify-bin)。
  2. 使用此脚本:
#!/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

只需使用以下命令静音/取消静音:

amixer -D pulse sset Capture toggle

您还可以根据vladimirich 对同一问题的回答,添加通知以确保其开启或关闭

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

受到马克·鲁尼(Mark Rooney)对声音进行静音/取消静音的评论的启发。


2
这实际上对我在Ubuntu 16.04上有效。-q可以跳过。
gronostaj

1
bindsym XF86AudioMicMute exec --no-startup-id amixer -D pulse sset Capture togglei3wm
克里斯托夫德

此命令在Pop_OS中对我有用!19.10(基于Ubuntu 19.10)。可以使用该命令显式禁用麦克风捕获,amixer --device pulse sset Capture nocap并同时使用命令将捕获音量设为0%amixer --device pulse sset Capture nocap 0%
Patrick Dark

1

您可以使用以下方法静音:

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

取消静音:

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

您只需要用适当的混音器名称替换“ Master”,在终端上使用“ amixer”即可获得混音器设备列表。

关于设置键盘快捷键,请查看“ 如何找到与给定键盘快捷键绑定的命令”的答案


这些使来自扬声器而不是麦克风的声音静音,但是谢谢。
Lucian Adrian Grijincu,2010年

您只需要用适当的混音器名称替换“ Master”,在终端上使用“ amixer”即可获得混音器设备列表。
若奥·平托

这似乎可行:#混音器设置“捕获”切换
Lucian Adrian Grijincu,2010年

您可以编辑您的回复(我没有必要的业力)以包括此答案,以便我接受吗?
Lucian Adrian Grijincu 2010年


0

根据以上答案/ubuntu//a/337662/106182

我喜欢创建自己的terminal愚蠢快捷方式。所以配置m=静音; mm=取消静音

我添加到 ./.bashrc

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

更新

有趣的是,昨天我在中重新启用了“屏幕锁(启动屏幕锁程序)的自动启动,menu> sessions and startup > Application Autostart现在我的硬件静音按钮开始工作(重新启动后),我不知道为什么(XFCE Xubuntu 18.08)

我仍然保留这些终端快捷键,但只想指出


0

我在USB网络摄像头/麦克风和内部麦克风之间进行切换,其他解决方案通常在“默认”设备上工作,而该设备通常不是我正在使用的设备,因此我编写了此示例以使所有麦克风静音

pacmd list-sources | \
        grep -oP 'index: \d' | \
        awk '{ print $2 }' | \
        xargs -I{} pactl set-source-mute {} toggle
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.