Làm cách nào tôi có thể tự động chuyển sang tai nghe USB khi cắm điện?


10

Tôi đang chạy Funtoo Linux , một công cụ phái sinh Gentoo . Hai tai nghe USB PlantICS mới của tôi (một dây, một không dây) hoạt động độc đáo. Tôi cắm một cái vào, ALSA nhận thấy nó và nếu tôi tự cài đặt một ứng dụng để sử dụng nó thay vì các thiết bị mặc định, nó sẽ.

Tôi muốn đơn giản là để tai nghe trở thành đầu vào / đầu ra mặc định của tôi khi có mặt và có mặc định trở lại loa trên bo mạch của tôi. Làm thế nào để tôi tự động hóa loại chuyển đổi này?

Câu trả lời:


4

Bạn có thể sử dụng các quy tắc udev. Đối với điều này, bạn sẽ cần tìm các thuộc tính thiết bị phân biệt tai nghe USB của mình sau khi cắm. Điều này thường có thể được thực hiện theo hai bước:

  • Chạy trước udevadm monitor --udevkhi cắm thiết bị. Sau đó cắm nó vào. Sẽ có một loạt các dòng đầu ra - chỉ cần chọn một và sao chép đường dẫn thiết bị từ nó - nó giống như thế /devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5:1.0.

  • Với tai nghe vẫn được kết nối, hãy sử dụng udevadm info --path=/your/device/path --attribute-walkđể tìm một số thuộc tính phân biệt thiết bị của bạn với các thiết bị khác (như ATTR{idVendor}ATTR{idProduct}).

Khi bạn có điều đó, bạn có thể xây dựng quy tắc udev được kích hoạt khi kết nối thiết bị. Nhìn vào các tập tin dưới đây /etc/udev/rules.d/để biết chúng trông như thế nào. Một trong những bạn có thể sẽ được xây dựng sẽ kết thúc với RUN+="some command". Lưu ý rằng tất cả các mã định danh ( SUBSYSTEM=, ATTRS=v.v.) được sử dụng trong dòng đó phải xuất phát từ mô tả của cùng một thiết bị - cùng một khối udevadm info --attribute-walkđầu ra.

Phần thứ hai của nhiệm vụ là tìm amixercác cài đặt phù hợp với nhu cầu của bạn cho từng kịch bản và gói chúng trong một lệnh mà bạn sẽ đặt trong RUN+=phần quy tắc udev. Với điều đó, tôi không thể giúp bạn vì tôi không có phần cứng tương tự.


3

Như Caleb đã đề cập, PulseAudio cho phép bạn di chuyển các luồng từ thiết bị này sang thiết bị khác.

Để tự động chuyển đổi, thay vì thông qua thủ công pavucontrol, hãy thêm module-switch-on-connectmô-đun vào cấu hình PulseAudio của bạn như được mô tả ở đây:

https://askubfox.com/questions/158241/automatically-change-sound-input-output-device/158250#158250


1
Cũng lưu ý rằng có các công cụ tích hợp CLI để kiểm soát PA ( pacmdpactl).
HalosGhost

2

Nếu bạn chưa có nó, pulseaudiosẽ cung cấp cho bạn loại linh hoạt này trong một bảng điều khiển định tuyến thực sự dễ sử dụng được gọi là pavucontrol. Các thiết bị dự phòng và dự phòng có thể được đặt cho mỗi ứng dụng và mặc định hệ thống.


1
Và sự thay đổi của thiết bị đầu ra là trong suốt đối với ứng dụng (nếu nó sử dụng pulseausio) - bạn không phải khởi động lại ứng dụng để thay đổi thiết bị đầu ra - thậm chí có thể thay đổi thiết bị đầu ra trong khi phát lại.
maxschlepzig

0

Tôi vừa mua một tai nghe Plantronics, và có cùng một vấn đề, nó đã được giải quyết bằng cách làm theo http://alsa.opensrc.org/MultipleCards :

/etc/modprobe.d/50-alsa.confTập tin đã chỉnh sửa để đặt thứ tự mặc định:

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

Tôi cũng đã xóa tất cả các cấu hình liên quan khác, cụ thể là /etc/modprobe.d/50-sound*.

Tôi đã kiểm tra plugin / rút phích cắm tai nghe và xem đầu ra của aplay -l

Điều này đã sử dụng openSUSE 12.2 và Plantronics .Audio 655.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.