Alsa - デフォルトのオーディオ出力が HDMI ではなく、カード 2 とデバイス 0 であることをどのように確認できますか?

Alsa - デフォルトのオーディオ出力が HDMI ではなく、カード 2 とデバイス 0 であることをどのように確認できますか?

システムのデフォルトのサウンド出力がカード 2 とデバイス 0 であり、カード 2 のデバイス 3、7、または 1 ではないことをどのように確認すればよいですか?

実行しましたが、音が出ません。

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Device [C-Media USB Audio Device], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: PCH [HDA Intel PCH], device 0: ALC892 Analog [ALC892 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: PCH [HDA Intel PCH], device 1: ALC892 Digital [ALC892 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

$ cat /etc/asound.conf
#pcm.!default { 
#  type plug; 
#  slave { pcm "hw:2" } 
#} 
pcm.!default {
    type hw
    card 2
    device 0
}

答え1

defaults.pcm.card 2サウンド カードがインデックスを切り替え続ける場合は、をハードコードすることはできません/etc/asound.conf。 1 つの (複雑な) アプローチは、サウンド カーネル モジュールを希望の優先順位で構成することです。

このアプローチは、Debian バグ #614113:

  1. 走るalsamixer;
  2. F6を使用して利用可能なサウンドデバイスを調べます
  3. デバイスで再生するための適切なレベルを設定します。
  4. サウンドデバイスを選択できるサウンドプレーヤーを実行します (audacious例)
  5. サウンド デバイスを操作して (手順 2、3 を繰り返して)、何をデフォルトにするかを決定します。
  6. 終了alsamixerとプレーヤー;
  7. root としてログインします。
  8. 実行してlsmod | grep snd、どのモジュールが物理的なサウンドデバイスに対応しているかを理解しようとします。
  9. ステップ 2 でモジュールを正しく判別できたかどうか不明な場合は、/sys/module名前が「snd」で始まるすべてのディレクトリに移動して検査します。これらのディレクトリの名前はモジュールとまったく同じです。検査したディレクトリに「drivers」ディレクトリがある場合は、検査したディレクトリの名前は物理サウンド デバイスに対応するモジュールの名前です。このようなモジュールをすべて覚えておいてください (メモ帳に書き留めます)。
  10. 手順 2 と 3 で見つかった各モジュールに対して実行します modinfo <module name> | grep desc 。説明を読んで、このモジュールの優先順位を決定します。これは、対応するサウンド デバイスの優先順位になります。
  11. に行く/etc/modprobe.d;
  12. 作成するsnd_cards_priorities.conf;
  13. snd_cards_priorities.conf に次のような内容を記述します。

    alias snd-card-0 <module for highest priority card>
    options <module for highest priority card> index=0
    alias snd-card-1 <module for lower priority card>
    options <module for lower priority card> index=1
    
  14. ファイルを保存;
  15. /usr/sbin/alsa force-reload コマンドで alsa を再起動します 。
  16. コマンドを実行し cat /proc/asound/cards 、サウンド デバイスが正しい順序になっていることを確認します (デバイス #0 の優先順位が最も高くなります)。
  17. 手順 9、10 を数回繰り返し、サウンド デバイスの順序が変更されていないことを確認します。
  18. ルートを終了します。

  19. 実行しalsamixerてデフォルトのサウンドデバイスを設定し、終了しますalsamixer

  20. お気に入りのサウンド プレーヤーを使用して新しい構成をテストします。

答え2

デフォルトのデバイスを設定するには、defaultデバイスを再定義するのではなく、単に次の内容を に入力します/etc/asound.conf

defaults.pcm.card 2      # or better "PCH"
defaults.pcm.device 0

これは、デバイスを明示的に指定せずに実際にデフォルトのデバイスを使用するプログラムに対してのみ機能します。PulseAudio や VLC などのプログラムが特定の出力デバイス用に構成されている場合は、その構成を変更する必要があります。

関連情報