Як я можу автоматично переключитися на свою гарнітуру USB, коли вона підключена?


10

Я використовую Funtoo Linux , похідну Gentoo . Мої дві нові гарнітури USB Plantronics (одна дротова, одна бездротова) працюють чудово. Я підключаю його, ALSA помічає це, і якщо я вручну встановіть програму, щоб використовувати його замість пристроїв за замовчуванням, це буде.

Я вважаю за краще просто мати гарнітуру, коли вона є моїм входом / виходом за замовчуванням, і в іншому випадку повернути за замовчуванням до моїх вбудованих динаміків. Як я автоматизую цей вид комутатора?

Відповіді:


4

Ви можете використовувати правила udev. Для цього вам потрібно буде знайти атрибути пристрою, які відрізняють вашу гарнітуру USB після підключення. Це зазвичай можна зробити в два етапи:

  • Запустіть для udevadm monitor --udevпідключення пристрою. Потім підключіть його. З'явиться купа вихідних рядків - просто виберіть один і скопіюйте з нього шлях пристрою - це щось на зразок /devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5:1.0.

  • Якщо гарнітура все ще підключена, використовуйте udevadm info --path=/your/device/path --attribute-walkдля пошуку деяких атрибутів, які відрізняють ваш пристрій від інших (наприклад, ATTR{idVendor}та ATTR{idProduct}).

Коли у вас це є, ви можете побудувати правило udev, яке потрібно запустити при підключенні пристрою. Погляньте на файли нижче, /etc/udev/rules.d/як вони виглядають. Той, з яким ви, мабуть, будуєте, закінчиться RUN+="some command". Зверніть увагу , що ідентифікатори ( SUBSYSTEM=, і ATTRS=т.д.) , що використовуються в такій лінії все повинні надходити з опису одного і того ж пристрою - той же шматок udevadm info --attribute-walkпродукції.

Друга частина завдання - знайти amixerналаштування, що відповідають вашим потребам для кожного сценарію, і загорнути їх у команду, яку ви введете в RUN+=частину правила udev. З цим я не можу вам допомогти, оскільки у мене немає подібного обладнання.


3

Як згадував Калеб, PulseAudio дозволяє мігрувати потоки з одного пристрою на інший.

Щоб автоматично перемикатися, а не вручну pavucontrol, додайте module-switch-on-connectмодуль до конфігурації PulseAudio, як описано тут:

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


1
Також зауважте, що є вбудовані інструменти CLI для управління ПА ( pacmdі pactl).
HalosGhost

2

Якщо у вас його ще немає, pulseaudioнадасть вам таку гнучкість у дійсно простій у користуванні консолі маршрутизації, яка називається pavucontrol. Бажані та резервні пристрої можуть бути встановлені для програми та стандартних системних налаштувань.


1
І зміна пристрою виведення є прозорим для програми (якщо він використовує pulseausio) - вам не доведеться перезавантажувати програму для зміни, наприклад, пристрою виводу - навіть можна змінити пристрої виводу під час відтворення.
maxschlepzig

0

Я щойно купив гарнітуру Plantronics, і у мене була така ж проблема, її вирішили, дотримуючись http://alsa.opensrc.org/MultipleCards :

Відредагований /etc/modprobe.d/50-alsa.confфайл для встановлення типового порядку:

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

Я також видалив усі інші пов'язані конфігурації, а саме /etc/modprobe.d/50-sound*.

Я перевірив плагін / відключення гарнітури і дивився на вихід aplay -l

Для цього використовували openSUSE 12.2 та Plantronics .Audio 655.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.