Во время голосовых / видео-разговоров в Интернете я хотел бы отключить / включить микрофон без необходимости каждый раз выполнять все эти шаги:
Я ищу либо:
Перейдите на
Системные настройки, затем «Клавиатура» и нажмите «Сочетания клавиш», затем «Сочетания клавиш»:
. 118]
Заполните:
Toggle microphone
и
amixer set Capture toggle
Для веб-камер USB вам нужно выбрать устройство (-c 1) или, может быть, другой номер.
amixer -c 1 sset Mic toggle
Нажмите «Применить», а затем свяжите новый ключ с этой командой (например, клавиша Pause / Break kbd>).
pacmd
- это интерфейс командной строки к PulseAudio (звуковая подсистема, используемая в последних выпусках). Я не знаю, какая именно команда вам нужна, но я думаю, что вы захотите поиграть с функцией set-sink-input-mute
.
pacmd
интерактивен, когда запускается без инструкций, поэтому у вас есть хорошая возможность поиграть с ним и преобразовать его в однострочную функцию для переключения звука.
Чтобы отключить звук микрофона по умолчанию в 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;}'
Вы можете отключить микрофон с помощью
amixer set Capture nocap
и включить микрофон с помощью
amixer set Capture cap
Расширение gnome-shell , не говоря уже о , которое можно установить со страницы на его extensions.gnome.org , обеспечивает значок микрофона, управление мышью и клавиатурой, а также рацию push-to-talk в стиле рации.
Просто включите / выключите звук с помощью этой команды:
amixer -D pulse sset Capture toggle
Вдохновленный комментарием Марка Руни для отключения / включения звука.
amixer set Capture toggle && amixer get Capture | grep '\[off\]' && notify-send "MIC switched OFF" || notify-send "MIC switched ON"
Вы можете отключить звук с помощью:
/usr/bin/amixer -q -c 0 sset 'Master',0 mute
Включить звук:
/usr/bin/amixer -q -c 0 sset 'Master',0 unmute
Вам просто нужно заменить «Master» соответствующим именем микшера, на терминале используйте «amixer» получить список устройств микшера.
Об установке сочетания клавиш проверьте ответы на вопрос Как узнать, какая команда связана с данным сочетанием клавиш?
Я переключаюсь между веб-камерой/микрометр USB и моим внутренним микрометром, и другие решения обычно работают над устройством "по умолчанию", которое часто является не устройством, которое я активно использую так, я записал это для отключения звука всех микрофонов
pacmd list-sources | \
grep -oP 'index: \d' | \
awk '{ print $2 }' | \
xargs -I{} pactl set-source-mute {} toggle
На основе ответа выше https://askubuntu.com/a/337662/106182
Мне нравится создавать мое собственное terminal
глупые ярлыки. Таким образом к configrure 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)
Я все еще сохраняю те терминальные ярлыки, но просто требуемыми для указания
Дополнение ответа ofLucian Adrian Grijincu и vladimirich
Добавьте дисплей сообщения путем включения/отключения микрофона.
Выполните несколько команд на команде ярлыка:
$ sh -c "amixer set Capture toggle ; amixer get Capture | \
grep '\[off\]' && notify-send 'MIC switched OFF' || notify-send 'MIC switched ON'"
Используя ответ владимирича , я создал сценарий, потому что мы не можем выполнять несколько команд в записи с помощью горячей клавиши.
поэтому я создал сценарий со строкой:
amixer set Capture toggle && amixer get Capture | grep '\ [off \]' && notify-send «Микрофон выключен» || notify-send "МИКРОФОН ВКЛЮЧЕН"
поместите его в файл .sh
и вызовите его в команде горячих клавиш с помощью sh <путь к script.sh>
.
Работает как шарм.
Вот пример переключения выбранного аудиоисточника только с помощью CLI (интерфейс командной строки):
Получить список возможных звуковых карт в системе:
pacmd list-sources | grep card:
Пример:
card: 0
card: 1
Выберите способ определения правильного карта. Если вы уверены, что ваша конфигурация не изменится, вы можете использовать номер карты и просто запустить (например,если вы хотите управлять картой 1):
pactl set-source-mute 1 toggle
Однако, если вместо этого вы хотите подготовиться к случаю, когда, например, ваш источник, подключенный к USB, не всегда подключен, и вы хотите только отключить звук, вы можете использовать какой-то способ обнаружить его из приведенного выше вывода. Допустим, вы хотите управлять только камерой LifeCam HD-5000. Тогда вы можете сделать это следующим образом:
pacmd list-sources | grep -P "карта: \d+ <[^>]*LifeCam_HD-5000[^>]*>" | awk '{напечатать $2}' | xargs -rn1 -I_ pactl set-source-mute _ toggle
Это запрашивает все аудиоисточники из PulseAudio, извлекает строки карточек, в имени которых есть LifeCam_HD-5000
, использует awk
, чтобы извлечь вторую часть строки для получения номера карты и передать ее в pactl
для переключения правильного отключения звука с помощью xargs
, чтобы поместить номер в правильную позицию в команде. Флаг -rn1
указывает xargs ничего не делать, если номер карты не найден.
Если вам нужно узнать состояние отключения звука для некоторых сценариев, вы можете сделать
pacmd dump | grep -P 'set-source-mute [^ ]*LifeCam_HD-5000' | awk '{print $3}'
, который выдаст yes
(приглушено) или no
(не приглушено).