Команда отключить и включить микрофон

23

Во время голосовых / видео разговоров в Интернете я хотел бы отключить / включить микрофон без необходимости каждый раз выполнять все эти шаги:

  • Индикатор звука, Настройки звука, Выбрать вход, Отключить звук или включить микрофон.

Я ищу либо:

  • приложение, которое может сделать это из командной строки,
  • способ, которым я могу назначить сочетание клавиш, которое может отключить / включить микрофон
Люциан Адриан Гриджинку
источник
1
Если вы используете Empathy для голосового чата, в него встроена кнопка отключения звука (по крайней мере, она работает с Google Talk, Skype пока не поддерживается).
Янв
Я ищу что-то, что можно сделать для запуска через ярлык, похожий на кнопку включения / выключения звука основного ноутбука.
Лучиан Адриан Гриджинку

Ответы:

32

Перейти к

Системные настройки, затем «Клавиатура» и нажмите «Ярлыки», затем «Пользовательские ярлыки»:

Нажмите на Добавить

Заполнить:

Toggle microphone

а также

amixer set Capture toggle

Для веб-камер USB вам нужно выбрать устройство (-c 1) или, возможно, другой номер.

amixer -c 1 sset Mic toggle

Нажмите Применить, а затем свяжите новый ключ с этой командой (например, Pause/Breakключ).

Lucian Adrian Grijincu
источник
Работает ли это с недавними выпусками? Спасибо.
Диего V
1
Это работает; благодаря Люсьену. У меня на ноутбуке есть клавиша «Отключение звука», я сопоставил ее с Shift + Отключение звука, что очень легко запомнить :)
Pierre-Antoine
Команда amixer set Mic toggle(не Capture) работает для меня в терминале, но, похоже, любое назначенное сочетание клавиш на самом деле не работает. Я пытался, ctrl+Audio Muteно также ctrl+M(захваченный нажатием клавиш клавиатуры)
Джейсон Клебан
Подтверждено, что это работает и с Ubuntu 16.10.
Кушал
В MATE меню для добавления привязки клавиш немного отличаются, но работает точно так же. Благодарность!
Стивен Анжелико
9

Вы можете отключить микрофон с помощью

amixer set Capture nocap

и включите микрофон с

amixer set Capture cap
Hickersson
источник
1
это прекрасно сработало с Raspberry Pi, за исключением того, что вы заменили Mic на Capture
WhiskerBiscuit
6

pacmdинтерфейс командной строки для PulseAudio (звуковая подсистема, используемая в последних выпусках) Я не знаю, какая именно команда вам нужна, но думаю, вы захотите поиграть с этой set-sink-input-muteфункцией.

pacmd интерактивен, когда запускается без инструкций, поэтому у вас есть хорошая возможность поиграть с ним и преобразовать его в однострочную функцию для переключения звука.

Оли
источник
pacmd является интерактивным, только если вы не дадите ему никаких команд. Я использовал, pacmd list-sourcesчтобы получить список входов и выходов. По индексу 2 у меня был вход делить. (в зависимости от его имени) Тогда вы можете запустить, pacmd set-source-mute 2 1чтобы отключить звук. Последний параметр - логическое значение для состояния отключения звука. 0 или false для включения звука и 1 или true для отключения звука.
Виталий
4
amixer set Capture toggle && amixer get Capture | grep '\[off\]' && notify-send "MIC switched OFF" || notify-send "MIC switched ON"
vladimirich
источник
Мне нравится, как вы комбинируете 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"

Вдохновлен комментарием Марка Руни для включения / выключения звука.

kujaw
источник
2
На самом деле это работает для меня на Ubuntu 16.04. -qможно пропустить
Гроностай
1
bindsym XF86AudioMicMute exec --no-startup-id amixer -D pulse sset Capture toggleдляi3wm
Кристоф Так
У меня эта команда работает в Pop_OS! 19.10 (который основан на Ubuntu 19.10). С помощью команды можно явно отключить захват микрофона amixer --device pulse sset Capture nocapи одновременно с командой установить громкость захвата до 0% amixer --device pulse sset Capture nocap 0%.
Патрик Дарк
1

Вы можете отключить звук с:

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

Unmute:

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

Вам просто нужно заменить «Master» на соответствующее имя микшера, в терминале используйте «amixer», чтобы получить список микшерных устройств.

Об установке сочетания клавиш проверьте ответы на вопрос Как узнать, какая команда связана с данным сочетанием клавиш?

Жоао Пинту
источник
Они отключают звук из моих динамиков, не микрофон, но спасибо.
Лучиан Адриан Гриджинку
Вам просто нужно заменить «Master» на соответствующее имя микшера, в терминале используйте «amixer», чтобы получить список микшерных устройств.
Жоау Пинту
Кажется, это работает: # amixer set Capture toggle
Lucian Adrian Grijincu
Можете ли вы отредактировать свой ответ (у меня нет необходимой кармы), чтобы включить этот ответ, чтобы я его принял?
Лучиан Адриан Гриджинку
1

Дополняя ответ Люциана Адриана Гриджинку и Владимира

Добавьте отображение сообщения, включив / отключив микрофон.

Запустите несколько команд для команды быстрого доступа:

$ sh -c "amixer set Capture toggle ; amixer get Capture | \
     grep '\[off\]' && notify-send 'MIC switched OFF' || notify-send 'MIC switched ON'"
Хосе Роберто
источник
0

На основании ответа выше /ubuntu//a/337662/106182

Мне нравится создавать свои собственные terminalглупые ярлыки. Таким образом, чтобы настроить m= немой; mm= включить звук

Я добавил это к ./.bashrc

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

Обновить

Интересно, вчера я снова включил автозапуск "Screen Locker (запуска программы блокировки экрана) в menu> sessions and startup > Application Autostart и теперь моя аппаратная кнопка отключения звука начинает работать (после перезапуска). Я понятия не имею, почему (XFCE Xubuntu 18.08)

Я все еще держу эти терминальные ярлыки, но просто хотел указать

equivalent8
источник
0

Я переключаюсь между веб-камерой / микрофоном USB и внутренним микрофоном, и другие решения обычно работают на устройстве «по умолчанию», которое часто не является устройством, которое я активно использую, поэтому я написал это для отключения всех микрофонов

pacmd list-sources | \
        grep -oP 'index: \d' | \
        awk '{ print $2 }' | \
        xargs -I{} pactl set-source-mute {} toggle
blockloop
источник