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 memerlukangcc
compiler danmake
utilitas. - Jalankan
git clone https://www.tablix.org/~avian/git/paswitch.git
untuk mengunduh kode sumber. cd paswitch
untuk masuk ke direktori yang dibuat olehgit clone
perintah, lalu jalankanmake
.- 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?