PulseAudioはどのALSAデバイスを使用できるかをどのように決定しますか?

PulseAudioはどのALSAデバイスを使用できるかをどのように決定しますか?

PulseAudio は、一般的に利用可能な ALSA デバイスを確認し、自動的に設定することをすばらしく行います。そうでなければ、この見かけに自動接続がどのように発生するかはわかりません。 ALSAがPulseAudioにデバイスについて知らせるのはプッシュですか、それともPulseAudioがALSA設定に基づいて決定するプールですか? A、B、Cという3つのオーディオ「カード」があるとしましょう。 aplay -l3つすべてが表示されますが(3つともaplayを介して期待どおりに機能すると仮定)、pacmd list-cardsAとBのみが表示されます。 PulseAudioにBとCのみを使用させるには、PulseAudioにAを削除してCを追加するように指示しますか? PAの実行構成ファイルを変更または変更することでこれを行うことができると思いますpacmdが、これを行う方法が正確に何であるかはわかりません。

ベストアンサー1

モジュールがデバイスの追加を担当していると思います。たとえば、ということがありますが、module-udev-detect私のシステムでこれを行うと、3つのうち2つがpacmd list-cards表示されます。module-udev-detect.discovered = "1"3番目はBluetoothデバイスなので、モジュールから出てきたようですbluez5

ネットワークを少し調べると、ENV{PULSE_IGNORE}="1"udevルールを設定してpulseaudioにudevのデバイスを無視させることができます。バラより

Bluetoothの場合、デバイスを無視するにはbluezを操作する必要があるようです。

デバイスが無視される理由は、おそらくpulseaudioがデバイスを開こうとするとロックされているためです(alsaデバイスは一度だけ開くことができます)。

@blihpの編集者:

PulseAudioにオーディオデバイスを使用させるには、次の項目を追加してください/etc/pulse/default.pa

load-module module-alsa-sink device=plughw:<card#>,<device#>

<card#>,<device#>たとえば、システムの特定のハードウェアと交換0,1

おすすめ記事