Perintah untuk membisukan dan mengaktifkan mikrofon

23

Selama percakapan suara / video online, saya ingin membisukan / mengaktifkan mikrofon tanpa harus melalui semua langkah ini setiap kali:

  • Indikator suara, Preferensi suara, Pilih Input, Bungkam atau bunyikan mikrofon.

Saya mencari:

  • aplikasi yang dapat melakukan ini dari commandline,
  • cara saya dapat menetapkan pintasan keyboard yang dapat mematikan / mengaktifkan mikrofon
Lucian Adrian Grijincu
sumber
1
Jika Anda menggunakan Empathy untuk obrolan suara, ini memiliki tombol bisu bawaan (yang bekerja dengan setidaknya Google Talk, Skype belum didukung).
JanC
Saya mencari sesuatu yang dapat dibuat untuk dijalankan melalui jalan pintas, mirip dengan tombol toggle laptop mute / unmute volume utama.
Lucian Adrian Grijincu

Jawaban:

32

Pergi ke

Preferensi Sistem kemudian Keyboard dan klik Pintasan lalu Pintasan Khusus:

Klik Tambah

Mengisi:

Toggle microphone

dan

amixer set Capture toggle

Untuk webcam usb Anda harus memilih perangkat (-c 1), atau mungkin nomor lain.

amixer -c 1 sset Mic toggle

Klik Terapkan dan kemudian kaitkan kunci baru dengan perintah ini (misalnya Pause/Breakkunci).

Lucian Adrian Grijincu
sumber
Bekerja dengan rilis terbaru ini? Terima kasih.
Diego V
1
Itu berhasil; terima kasih kepada Lucian. Saya memiliki kunci "Audio bisu" di laptop saya, saya memetakannya untuk bergeser + Audio bisu, yang sangat mudah diingat :)
Pierre-Antoine
Perintah amixer set Mic toggle(tidak Capture) berfungsi untuk saya di terminal tetapi pintasan keyboard apa pun yang ditugaskan tampaknya tidak berjalan. Saya sudah mencoba ctrl+Audio Mutetetapi juga ctrl+M(ditangkap dengan penekanan tombol keyboard)
Jason Kleban
Dikonfirmasi, ini berfungsi dengan Ubuntu 16.10 juga.
Kushal
Pada MATE menu untuk menambahkan keybinding sedikit berbeda, tetapi berfungsi dengan cara yang sama. Terima kasih!
Stephen Angelico
9

Anda dapat menonaktifkan mikrofon dengan

amixer set Capture nocap

dan bunyikan mikrofon dengan

amixer set Capture cap
Hickersson
sumber
1
yang bekerja sangat baik dengan raspberry pi, kecuali Anda mengganti Mic untuk Capture
WhiskerBiscuit
6

pacmdadalah antarmuka baris perintah ke PulseAudio (subsistem suara yang digunakan dalam rilis terbaru). Saya tidak tahu apa perintah yang tepat yang Anda butuhkan tetapi saya pikir Anda ingin bermain dengan set-sink-input-mutefungsinya.

pacmd bersifat interaktif saat dijalankan tanpa instruksi sehingga Anda memiliki kesempatan yang baik untuk bermain-main dengannya dan mengubahnya menjadi fungsi satu baris untuk beralih bisu.

Oli
sumber
pacmd hanya interaktif jika Anda tidak memberikan perintah apa pun. Saya biasa pacmd list-sourcesmendapatkan daftar input dan output. Di bawah indeks 2 saya mendapat input devide. (berdasarkan namanya) Kemudian Anda bisa lari pacmd set-source-mute 2 1ke bisu. Parameter terakhir adalah boolean untuk kondisi bisu. 0 atau salah untuk bersuara dan 1 atau benar untuk bisu.
Vitaly
4
amixer set Capture toggle && amixer get Capture | grep '\[off\]' && notify-send "MIC switched OFF" || notify-send "MIC switched ON"
vladimirich
sumber
Saya suka cara Anda menggabungkan grep dan pemberitahuan: Super Neat =)
Musa Al-hassy
3

Untuk mengaktifkan bisu mikrofon default di pulseaudio:

  1. Pastikan Anda memiliki pacmd(dari pulseaudio-utilspaket) dan notify-send(dari libnotify-bin).
  2. Gunakan skrip ini:
#!/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
sumber
3

Cukup mute / unmute dengan perintah ini:

amixer -D pulse sset Capture toggle

Anda juga dapat menambahkan notifikasi untuk memastikannya aktif atau nonaktif, sesuai jawaban vladimirich untuk pertanyaan yang sama

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

Terinspirasi oleh komentar Mark Rooney untuk membisukan / menghilangkan suara.

Kujaw
sumber
2
Ini sebenarnya bekerja untuk saya di Ubuntu 16.04. -qbisa dilewati.
gronostaj
1
bindsym XF86AudioMicMute exec --no-startup-id amixer -D pulse sset Capture toggleuntuki3wm
Kristof Tak
Perintah ini berfungsi untuk saya di Pop_OS! 19.10 (yang didasarkan pada Ubuntu 19.10). Seseorang dapat secara eksplisit menonaktifkan penangkapan mikrofon dengan perintah amixer --device pulse sset Capture nocapdan mengubah volume pengambilan ke 0% secara bersamaan dengan perintah amixer --device pulse sset Capture nocap 0%.
Patrick Dark
1

Anda dapat membisukan dengan:

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

Suarakan:

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

Anda hanya perlu mengganti 'Master' dengan nama mixer yang sesuai, pada terminal gunakan "amixer" untuk mendapatkan daftar perangkat mixer.

Tentang mengatur pintasan keyboard, periksa jawaban untuk Bagaimana saya bisa menemukan perintah mana yang terikat ke pintasan keyboard yang diberikan?

João Pinto
sumber
Ini membisukan suara dari speaker saya, bukan mikrofon, tapi terima kasih.
Lucian Adrian Grijincu
Anda hanya perlu mengganti 'Master' dengan nama mixer yang sesuai, pada terminal gunakan "amixer" untuk mendapatkan daftar perangkat mixer.
João Pinto
Ini sepertinya berhasil: # amixer set toggle Capture
Lucian Adrian Grijincu
Bisakah Anda mengedit tanggapan Anda (saya tidak memiliki karma yang diperlukan) untuk memasukkan jawaban ini jadi saya akan menerimanya?
Lucian Adrian Grijincu
1

Melengkapi respons Lucian Adrian Grijincu dan vladimirich

Tambahkan tampilan pesan dengan mengaktifkan / menonaktifkan mikrofon.

Jalankan beberapa perintah pada perintah pintasan:

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

Berdasarkan jawaban di atas /ubuntu//a/337662/106182

Saya suka membuat terminalpintasan bodoh saya sendiri . Jadi untuk mengkonfigurasi m= bisu; mm= bersuara

Saya menambahkan ini ke ./.bashrc

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

memperbarui

cukup menarik, kemarin saya sudah mengaktifkan kembali autostart dari "Locker Layar (Luncurkan program locker layar) di menu> sessions and startup > Application Autostartdan sekarang tombol bisu perangkat keras saya mulai bekerja (setelah restart) Saya tidak tahu mengapa (XFCE Xubuntu 18.08)

Saya masih menyimpan pintasan terminal itu tetapi hanya ingin menunjukkan

setara8
sumber
0

Saya beralih antara webcam USB / mikrofon dan mikrofon internal saya dan solusi lain biasanya bekerja pada perangkat "default" yang seringkali bukan perangkat yang saya gunakan secara aktif, jadi saya menulis ini untuk membisukan semua mikrofon

pacmd list-sources | \
        grep -oP 'index: \d' | \
        awk '{ print $2 }' | \
        xargs -I{} pactl set-source-mute {} toggle
blockloop
sumber