GNU/Linux >> Belajar Linux >  >> Linux

Linux – Bagaimana Cara Mengalihkan Perangkat Output Pulseaudio Dari Baris Perintah dengan Kuat?

Di Ubuntu dan mungkin distro lain ada hal grafis untuk mengganti perangkat output audio. Saya telah mencoba menulis alat baris perintah yang melakukan hal yang sama, tetapi tidak selalu berhasil.

Apa yang saya lakukan untuk beralih ke, katakanlah, sink 0 adalah sebagai berikut:

pacmd set-default-sink 0

Yang menurut saya harus membuat semuanya baru input masuk ke sink 0. Kemudian, untuk setiap input yang ada, sesuai dengan pacmd list-sink-inputs Saya melakukan:

pacmd move-sink-input <input_id> 0

Tapi itu sering tidak berhasil. Seringkali saya akan mengganti wastafel, lalu memutar beberapa audio di beberapa aplikasi dan itu akan tetap terpasang ke wastafel lama. Apa yang kulewatkan di sini? Bagaimana saya bisa melakukan ini dengan kuat?

Jawaban yang Diterima:

Dari entri blog ini:

PulseAudio sendiri hadir dengan dua alat baris perintah dasar, yang disebut pacmd dan pactl. Mantan menawarkan perintah set-default-sink, tetapi itu tidak melakukan apa yang Anda harapkan darinya. Ternyata, setidaknya di sistem saya, daemon PulseAudio menyimpan pengaturan persisten untuk setiap aplikasi yang pernah terhubung dengannya. Ini berarti sink default hanya digunakan untuk aplikasi yang belum dilihat daemon.

Dengan kata lain, blogger ini mengalami masalah yang sama persis seperti yang Anda alami:

  • mengalihkan wastafel default hanya memengaruhi program yang belum pernah digunakan sebelumnya
  • memindahkan input yang ada hanya memengaruhi program yang benar-benar aktif dengan kartu suara
  • Anda memerlukan alat untuk menelusuri setelan tetap dan mengarahkannya kembali ke kartu baru.

Dan blogger ini telah menulis paswitch , alat baris perintah untuk melakukan hal itu. Anda dapat menemukan kode sumbernya dalam format Git di sini.

Untuk menginstal:

  • Pastikan Anda memiliki paket perpustakaan pengembangan Pulseaudio (libpulse-dev atau serupa) dipasang. Anda juga memerlukan gcc compiler dan make utilitas.
  • Jalankan git clone https://www.tablix.org/~avian/git/paswitch.git untuk mengunduh kode sumber.
  • cd paswitch untuk masuk ke direktori yang dibuat oleh git clone perintah, lalu jalankan make .
  • Jika selesai tanpa kesalahan, sekarang seharusnya ada paswitch biner dalam direktori. Salin ke /usr/local/bin/ direktori.
  • Baca README file di direktori untuk contoh cara menggunakannya.

Opsi lainnya adalah memberi tahu daemon PulseAudio untuk tidak mempertahankan setelan sink untuk aplikasi, dengan menambahkan restore_device=false opsi ke module-stream-restore baris di /etc/pulse/default.pa :

load-module module-stream-restore restore_device=false

Setelah melakukannya dan memulai ulang PulseAudio, mengganti sink default akan menyebabkan semua aplikasi suara baru menjadi default.

Tetapi jarak tempuh Anda mungkin berbeda, tergantung pada lingkungan desktop yang Anda gunakan:pada Debian 9 saya, menonaktifkan kegigihan menyebabkan perilaku mengganggu lainnya dengan KDE, dan saya akhirnya kembali ke perilaku default. Jika saya mengingatnya dengan benar, itu menyebabkan daftar Pengaturan Sistem KDE -> Multimedia -> Audio dan Video -> Preferensi Perangkat mendapatkan salinan baru dari perangkat audio saya di setiap login.

Terkait:Bagaimana gcc tahu di mana boost dipasang?
Linux
  1. Cara Memisahkan Dan Menggabungkan File Dari Baris Perintah Di Linux

  2. Bagaimana Mengenalinya Versi Os X Saya Dari Baris Perintah?

  3. Bagaimana Cara Memanggil Makro Openoffice Dari Baris Perintah Linux?

  1. Bagaimana cara mengirim pesan ke soket web socket.io saya dari baris perintah di linux?

  2. Bagaimana saya bisa menyalin folder dari baris perintah Linux?

  3. Cara menjalankan TeX dari antarmuka baris perintah di Linux

  1. Cara menginstal perangkat lunak dari baris perintah Linux

  2. Cara Menghapus File dan Direktori di Linux dari Command Line

  3. Menghilangkan baris pertama dari keluaran perintah Linux mana pun