Alsa - 基本的なオーディオ出力がhdmiではなく、カード2とデバイス0であるかどうかはどうすればわかりますか?

Alsa - 基本的なオーディオ出力がhdmiではなく、カード2とデバイス0であるかどうかはどうすればわかりますか?

私のシステムのデフォルトのサウンド出力がカード2デバイス3、7、または1以外のカード2とデバイス0かどうかはどうすればわかりますか?

このようにしましたが、音が出ませんでした。

$ 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. ルートとしてログインします。
  8. 実際のサウンドデバイスに対応するモジュールを実行しlsmod | grep sndて理解しようとします。
  9. 手順2でモジュールが正しく識別されたかどうかわからない場合:移動して、/sys/module名前が「snd」で始まるすべてのディレクトリを確認します。このディレクトリの名前はモジュールとまったく同じです。 checkディレクトリに "drivers"ディレクトリが表示されている場合、checkディレクトリの名前は実際のサウンドデバイスに対応するモジュールの名前です。そのようなモジュールをすべて覚えてください(メモ帳に書いてください)。
  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. 次のコマンドを使用してalsaを再起動します /usr/sbin/alsa force-reload
  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など)が特定の出力デバイス用に設定されている場合は、その設定を変更する必要があります。

関連情報