Polecenie wyciszenia i włączenia mikrofonu

23

Podczas rozmów głosowych / wideo online chciałbym wyciszyć / wyłączyć mikrofon bez konieczności wykonywania tych wszystkich czynności za każdym razem:

  • Wskaźnik dźwięku, Preferencje dźwięku, Wybierz wejście, Wycisz lub włącz mikrofon.

Szukam albo:

  • aplikacja, która może to zrobić z wiersza poleceń,
  • sposób, w jaki mogę przypisać skrót klawiaturowy, który może wyciszyć / wyłączyć mikrofon
Lucian Adrian Grijincu
źródło
1
Jeśli używasz Empathy do czatu głosowego, ma on wbudowany przycisk wyciszenia (który działa przynajmniej z Google Talk, Skype nie jest jeszcze obsługiwany).
JanC
Szukam czegoś, co można by uruchomić za pomocą skrótu, podobnie jak główny przycisk wyciszania / wyłączania wyciszenia laptopa.
Lucian Adrian Grijincu

Odpowiedzi:

32

Iść do

Preferencje systemowe, a następnie Klawiatura i kliknij Skróty, a następnie Skróty niestandardowe:

Kliknij Dodaj

Wypełnić:

Toggle microphone

i

amixer set Capture toggle

W przypadku kamer USB musisz wybrać urządzenie (-c 1), a może inny numer.

amixer -c 1 sset Mic toggle

Kliknij Zastosuj, a następnie powiąż nowy klucz z tym poleceniem (np. Pause/BreakKlucz).

Lucian Adrian Grijincu
źródło
Działa to z najnowszymi wydaniami? Dziękuję Ci.
Diego V
1
To działa; dzięki Lucian. Mam na laptopie klawisz „Wyciszenie dźwięku”, zamapowałem go na shift + Wyciszenie dźwięku, co jest bardzo łatwe do zapamiętania :)
Pierre-Antoine
Polecenie amixer set Mic toggle(nie Capture) działa dla mnie w terminalu, ale jakikolwiek przypisany skrót klawiaturowy tak naprawdę nie działa. Próbowałem, ctrl+Audio Muteale także ctrl+M(przechwycone przez naciśnięcie klawiszy)
Jason Kleban
Potwierdzono, że działa to również z Ubuntu 16.10.
Kushal,
W MATE menu dodawania skrótów klawiszowych są nieco inne, ale działa w ten sam sposób. Dzięki!
Stephen Angelico
9

Możesz wyciszyć mikrofon za pomocą

amixer set Capture nocap

i wyłącz wyciszenie mikrofonu za pomocą

amixer set Capture cap
Hickersson
źródło
1
które świetnie działało z Raspberry Pi,
tyle
6

pacmdto interfejs wiersza poleceń PulseAudio (podsystem dźwięku używany w najnowszych wydaniach). Nie wiem, jakie dokładnie polecenie jest potrzebne, ale myślę, że chcesz grać z tą set-sink-input-mutefunkcją.

pacmd jest interaktywny, gdy jest uruchamiany bez instrukcji, więc masz dobrą okazję do zabawy i przekształcenia go w funkcję jednowierszową do przełączania wyciszenia.

Oli
źródło
pacmd jest interaktywny tylko wtedy, gdy nie dajesz mu żadnych poleceń. Kiedyś pacmd list-sourcesotrzymywałem listę wejść i wyjść. Pod indeksem 2 miałem odchylenie wejściowe. (na podstawie jego nazwy) Następnie możesz uruchomić, pacmd set-source-mute 2 1aby wyciszyć. Ostatni parametr jest wartością logiczną dla stanu wyciszenia. 0 lub false dla wyciszenia i 1 lub true dla wyciszenia.
Witalij
4
amixer set Capture toggle && amixer get Capture | grep '\[off\]' && notify-send "MIC switched OFF" || notify-send "MIC switched ON"
Vladimirich
źródło
Podoba mi się sposób, w jaki łączysz grep i powiadomienia: Super Neat =)
Musa Al-hassy
3

Aby przełączyć wyciszenie domyślnego mikrofonu w pulseaudio:

  1. Upewnij się, że masz pacmd(z pulseaudio-utilspaczki) i notify-send(z libnotify-bin).
  2. Użyj tego skryptu:
#!/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
źródło
3

Po prostu wycisz / wyłącz wyciszenie za pomocą tego polecenia:

amixer -D pulse sset Capture toggle

Możesz także dodać powiadomienie, aby upewnić się, że jest włączone lub wyłączone, zgodnie z odpowiedzią Vladimirich na to samo pytanie

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

Zainspirowany komentarzem Marka Rooneya do wyciszania / wyciszania dźwięku.

kujaw
źródło
2
To faktycznie działa dla mnie na Ubuntu 16.04. -qmożna pominąć.
gronostaj
1
bindsym XF86AudioMicMute exec --no-startup-id amixer -D pulse sset Capture toggledlai3wm
Kristof Tak
To polecenie działa dla mnie w Pop_OS! 19.10 (oparty na Ubuntu 19.10). Można jednoznacznie wyłączyć przechwytywanie mikrofonu za pomocą polecenia amixer --device pulse sset Capture nocapi ustawić głośność przechwytywania na 0% jednocześnie z poleceniem amixer --device pulse sset Capture nocap 0%.
Patrick Dark,
1

Możesz wyciszyć za pomocą:

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

Wyłącz wyciszenie:

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

Wystarczy zastąpić „Master” odpowiednią nazwą miksera, na terminalu użyj „amixer”, aby uzyskać listę mikserów.

Informacje o ustawianiu skrótu klawiaturowego sprawdź odpowiedzi na pytanie Jak mogę znaleźć, które polecenie jest powiązane z danym skrótem klawiaturowym?

João Pinto
źródło
Wyciszają one dźwięk z moich głośników, nie z mikrofonu, ale dzięki.
Lucian Adrian Grijincu,
Wystarczy zastąpić „Master” odpowiednią nazwą miksera, na terminalu użyj „amixer”, aby uzyskać listę mikserów.
João Pinto,
To wydaje się działać: # amixer ustaw przełącznik przechwytywania
Lucian Adrian Grijincu
Czy możesz edytować swoją odpowiedź (nie mam niezbędnej karmy), aby dołączyć tę odpowiedź, więc ją zaakceptuję?
Lucian Adrian Grijincu
1

Uzupełniając odpowiedź Lucian Adrian Grijincu i vladimirich

Dodaj wyświetlanie komunikatu, włączając / wyłączając mikrofon.

Uruchom wiele poleceń za pomocą polecenia skrótu:

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

Na podstawie odpowiedzi powyżej /ubuntu//a/337662/106182

Lubię tworzyć własne terminalgłupie skróty. Więc configrure m= mute; mm= wyłącz wyciszenie

Dodałem to do ./.bashrc

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

aktualizacja

co ciekawe, wczoraj ponownie włączyłem autostart „Screen Locker” (Uruchom program do blokowania ekranu) menu> sessions and startup > Application Autostarti teraz mój przycisk wyciszania sprzętu zaczyna działać (po ponownym uruchomieniu) Nie mam pojęcia, dlaczego (XFCE Xubuntu 18.08)

Nadal trzymam te skróty terminalowe, ale chciałem tylko podkreślić

odpowiednik 8
źródło
0

Przełączam się między kamerą / mikrofonem USB a moim wewnętrznym mikrofonem, a inne rozwiązania zazwyczaj działają na „domyślnym” urządzeniu, które często nie jest urządzeniem, którego aktywnie używam, więc napisałem to, aby wyciszyć wszystkie mikrofony

pacmd list-sources | \
        grep -oP 'index: \d' | \
        awk '{ print $2 }' | \
        xargs -I{} pactl set-source-mute {} toggle
Blockloop
źródło