Bagaimana saya bisa beralih ke headset USB saya secara otomatis ketika dicolokkan?

10

Saya menjalankan Funtoo Linux , turunan Gentoo . Dua headset USB Plantronics baru saya (satu kabel, satu nirkabel) berfungsi dengan baik. Saya pasang satu, ALSA pemberitahuan itu, dan jika saya secara manual mengatur aplikasi untuk menggunakannya daripada perangkat default, itu akan.

Saya lebih suka jika headset menjadi input / output default saya saat ini, dan sebaliknya mengembalikan ke speaker on-board saya. Bagaimana cara mengotomatiskan saklar semacam ini?

HedgeMage
sumber

Jawaban:

4

Anda dapat menggunakan aturan udev. Untuk ini, Anda harus menemukan atribut perangkat yang membedakan headset USB Anda setelah dicolokkan. Ini biasanya dapat dilakukan dalam dua langkah:

  • Jalankan udevadm monitor --udevsebelum menghubungkan perangkat. Kemudian tancapkan. Akan ada banyak jalur output - cukup pilih satu dan salin jalur perangkat darinya - itu adalah sesuatu seperti/devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5:1.0 .

  • Dengan headset masih terhubung, gunakan udevadm info --path=/your/device/path --attribute-walkuntuk menemukan beberapa atribut yang membedakan perangkat Anda dari yang lain (seperti ATTR{idVendor}dan ATTR{idProduct}).

Jika sudah, Anda dapat membuat aturan udev untuk dipicu saat menghubungkan perangkat. Lihatlah file-file di bawah ini /etc/udev/rules.d/untuk melihat bagaimana ini terlihat. Yang Anda mungkin akan membangun akan berakhir dengan RUN+="some command". Perhatikan bahwa pengidentifikasi ( SUBSYSTEM=,ATTRS= dll.) Yang digunakan dalam baris tersebut semuanya harus berasal dari deskripsi perangkat yang sama - potongan udevadm info --attribute-walkoutput yang sama.

Bagian kedua dari tugas ini adalah menemukan amixerpengaturan yang sesuai dengan kebutuhan Anda untuk setiap skenario dan membungkusnya dengan perintah yang akan Anda masukkan ke dalam RUN+=bagian aturan udev. Dengan itu, saya tidak dapat membantu Anda karena saya tidak memiliki perangkat keras yang sama.

rozcietrzewiacz
sumber
3

Seperti yang disebutkan Caleb, PulseAudio memungkinkan Anda memigrasi aliran dari satu perangkat ke perangkat lainnya.

Untuk beralih secara otomatis, alih-alih secara manual pavucontrol, tambahkan module-switch-on-connectmodul ke konfigurasi PulseAudio Anda seperti dijelaskan di sini:

/ubuntu/158241/automatically-change-sound-input-output-device/158250#158250

John Glassmyer
sumber
1
Perhatikan juga bahwa ada alat bawaan CLI untuk mengendalikan PA ( pacmddan pactl).
HalosGhost
2

Jika Anda belum memilikinya, pulseaudioakan memberi Anda fleksibilitas semacam ini di konsol perutean yang sangat mudah digunakan yang disebut pavucontrol. Perangkat pilihan dan mundur dapat diatur per aplikasi dan standar sistem.

Caleb
sumber
1
Dan perubahan perangkat output transparan untuk aplikasi (jika menggunakan pulseausio) - Anda tidak perlu me-restart aplikasi untuk perubahan misalnya perangkat output - bahkan dimungkinkan untuk mengubah perangkat output selama pemutaran.
maxschlepzig
0

Saya baru saja membeli headset Plantronics, dan memiliki masalah yang sama, diselesaikan dengan mengikuti http://alsa.opensrc.org/MultipleCards :

/etc/modprobe.d/50-alsa.confFile yang diedit untuk mengatur urutan default:

options snd slots=snd-usb-audio,snd-hda-intel

Saya juga menghapus semua konfigurasi terkait lainnya, yaitu /etc/modprobe.d/50-sound*.

Saya memeriksa plugin / mencabut headset dan melihat output dari aplay -l

Ini menggunakan openSUSE 12.2 dan Plantronics .Audio 655.

Isaac Uribe
sumber