USBヘッドフォンが接続されたら自動的にUSBヘッドフォンに切り替えるにはどうすればよいですか?

USBヘッドフォンが接続されたら自動的にUSBヘッドフォンに切り替えるにはどうすればよいですか?

私は走っているFintuLinux、ㅏルート図誘導体私の新しいPlantronics USBヘッドセット2つ(有線1つ、ワイヤレス1つ)がうまく機能します。 1つを接続すると、ALSAはそれに気づき、デフォルトのデバイスではなくそれを使用するようにアプリを手動で設定すると、ALSAはそれに気づきます。

ヘッドフォンがある場合は、デフォルトの入力/出力に設定することを好みます。それ以外の場合、基本は内蔵スピーカーに戻ります。このスイッチをどのように自動化できますか?

ベストアンサー1

udev ルールを使用できます。そのためには、USBヘッドセットを接続した後に区別できるデバイスのプロパティを見つける必要があります。これは通常、次の2つのステップで実行できます。

  • udevadm monitor --udevデバイスを接続する前に実行してください。次に挿入します。複数の出力ラインがあります。 1つを選択してそこからデバイスパスをコピーすると、次のようになります/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出力ブロック)の説明に記載する必要があります。

タスクの2番目の部分は、amixer各シナリオの要件に合った設定を見つけ、それをRUN+=udevルールセクションに入れるコマンドでラップすることです。同様のハードウェアがないため、この問題については役に立ちません。

おすすめ記事