USB 헤드폰이 연결되면 자동으로 USB 헤드폰으로 전환하려면 어떻게 해야 합니까?

USB 헤드폰이 연결되면 자동으로 USB 헤드폰으로 전환하려면 어떻게 해야 합니까?

나는 뛰고있어FintuLinux,ㅏ루트 다이어그램유도체. 내 새로운 Plantronics USB 헤드셋 2개(유선 1개, 무선 1개)가 훌륭하게 작동합니다. 하나를 연결하면 ALSA가 이를 알아차리고, 기본 장치 대신 이를 사용하도록 앱을 수동으로 설정하면 ALSA가 이를 알아차립니다.

나는 헤드폰이 있는 경우 기본 입력/출력으로 설정하는 것을 선호합니다. 그렇지 않으면 기본이 내장 스피커로 되돌아갑니다. 이 스위치를 어떻게 자동화할 수 있나요?

답변1

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 규칙 섹션에 넣을 명령으로 래핑하는 것입니다. 비슷한 하드웨어가 없기 때문에 이 문제에 대해 도움을 드릴 수 없습니다.

답변2

Caleb이 언급했듯이 PulseAudio를 사용하면 한 장치에서 다른 장치로 스트림을 마이그레이션할 수 있습니다.

수동으로 전환하는 대신 자동으로 전환하려면 다음과 같이 PulseAudio 구성에 pavucontrol모듈을 추가하십시오 .module-switch-on-connect

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

답변3

아직 제공하지 않았다면 pulseaudio이라는 매우 사용하기 쉬운 라우팅 콘솔을 통해 이러한 유연성을 얻을 수 있습니다 pavucontrol. 기본 장치 및 대체 장치는 애플리케이션 및 시스템 기본값을 기반으로 설정할 수 있습니다.

답변4

방금 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를 사용하고 있습니다.

관련 정보