私は Funtoo Linux 、 Gentoo 派生物を実行しています。私の2つの新しいPlantronics USBヘッドセット(1つは有線、もう1つはワイヤレス)は問題なく動作します。プラグインすると、ALSAがそれを認識します。デフォルトのデバイスの代わりにアプリケーションを使用するようにアプリケーションを手動で設定すると、そのようになります。
ヘッドセットが存在する場合は、単にデフォルトの入力/出力にして、それ以外の場合はデフォルトでオンボードスピーカーに戻すことをお勧めします。この種のスイッチを自動化するにはどうすればよいですか?
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
設定を見つけて、udevルールのRUN+=
部分に配置するコマンドにラップすることです。同じハードウェアを持っていないので、私はあなたを助けることができません。
Calebが述べたように、PulseAudioを使用すると、あるデバイスから別のデバイスにストリームを移行できます。
pavucontrol
を使用して手動で切り替えるのではなく、自動的に切り替えるには、ここで説明するように、module-switch-on-connect
モジュールをPulseAudio設定に追加します。
https://askubuntu.com/questions/158241/automatically-change-sound-input-output-device/158250#15825
まだ持っていない場合は、pulseaudio
を使用すると、pavucontrol
と呼ばれる非常に使いやすいルーティングコンソールでこのような柔軟性が得られます。優先デバイスとフォールバックデバイスは、アプリケーションとシステムのデフォルトごとに設定できます。
私は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を使用していました。