问题描述
在在线语音/视频对话期间,我想将麦克风静音/取消静音,而不必每次都执行所有这些步骤:
-
声音指示器、声音首选项、选择输入、静音或取消静音麦克风。
我正在寻找:
-
可以从命令行执行此操作的应用程序,
-
我可以分配一个可以使麦克风静音/取消静音的键盘快捷键的方法
最佳答案
去
系统首选项,然后键盘,然后单击快捷方式,然后单击自定义快捷方式:
点击添加
填写:
Toggle microphone
和
amixer set Capture toggle
对于 USB 网络摄像头,您需要选择设备 (-c 1) 或其他号码。
amixer -c 1 sset Mic toggle
单击应用,然后将新密钥与此命令关联(例如 Pause/Break
密钥)。
次佳答案
您可以将麦克风静音
amixer set Capture nocap
并取消麦克风静音
amixer set Capture cap
第三种答案
amixer set Capture toggle && amixer get Capture | grep '\[off\]' && notify-send "MIC switched OFF" || notify-send "MIC switched ON"
第四种答案
我在 USB 网络摄像头/麦克风和内部麦克风之间切换,其他解决方案通常适用于 “default” 设备,这通常不是我正在使用的设备,所以我写了这个来使所有麦克风静音
pacmd list-sources | \
grep -oP 'index: \d+' | \
awk '{ print $2 }' | \
xargs -I{} pactl set-source-mute {} toggle
第五种答案
pacmd
是 PulseAudio(最近版本中使用的声音子系统)的命令行界面。我不知道您需要的确切命令是什么,但我认为您想使用 set-sink-input-mute
函数。
pacmd
在没有指令的情况下运行时是交互式的,因此您有很好的机会尝试使用它并将其转换为 one-line 功能以切换静音。
第六种答案
gnome-shell 扩展 nothing to say 可以从 its extensions.gnome.org page 安装,提供麦克风图标、鼠标和键盘控制,以及 walkie-talkie 样式 push-to-talk。
第七种答案
只需使用此命令静音/取消静音:
amixer -D pulse sset Capture toggle
您还可以根据 vladimirich answer 对同一问题添加通知以确保其打开或关闭
amixer -D pulse sset Capture toggle && amixer get Capture | grep '\[off\]' && notify-send "MIC switched OFF" || notify-send "MIC switched ON"
受 Mark Rooney 用于静音/取消静音的 comment 的启发。
第八种答案
在pulseaudio中切换默认麦克风的静音:
-
确保您有
pacmd
(来自pulseaudio-utils
包)和notify-send
(来自libnotify-bin
)。 -
使用这个脚本:
#!/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;}'