システムのデフォルトのサウンド出力がカード 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:
- 走る
alsamixer
;- F6を使用して利用可能なサウンドデバイスを調べます
- デバイスで再生するための適切なレベルを設定します。
- サウンドデバイスを選択できるサウンドプレーヤーを実行します (
audacious
例)- サウンド デバイスを操作して (手順 2、3 を繰り返して)、何をデフォルトにするかを決定します。
- 終了
alsamixer
とプレーヤー;- root としてログインします。
- 実行して
lsmod | grep snd
、どのモジュールが物理的なサウンドデバイスに対応しているかを理解しようとします。- ステップ 2 でモジュールを正しく判別できたかどうか不明な場合は、
/sys/module
名前が「snd」で始まるすべてのディレクトリに移動して検査します。これらのディレクトリの名前はモジュールとまったく同じです。検査したディレクトリに「drivers」ディレクトリがある場合は、検査したディレクトリの名前は物理サウンド デバイスに対応するモジュールの名前です。このようなモジュールをすべて覚えておいてください (メモ帳に書き留めます)。- 手順 2 と 3 で見つかった各モジュールに対して実行します
modinfo <module name> | grep desc
。説明を読んで、このモジュールの優先順位を決定します。これは、対応するサウンド デバイスの優先順位になります。- に行く
/etc/modprobe.d
;- 作成する
snd_cards_priorities.conf
;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
- ファイルを保存;
/usr/sbin/alsa force-reload
コマンドで alsa を再起動します 。- コマンドを実行し
cat /proc/asound/cards
、サウンド デバイスが正しい順序になっていることを確認します (デバイス #0 の優先順位が最も高くなります)。- 手順 9、10 を数回繰り返し、サウンド デバイスの順序が変更されていないことを確認します。
ルートを終了します。
実行し
alsamixer
てデフォルトのサウンドデバイスを設定し、終了しますalsamixer
。- お気に入りのサウンド プレーヤーを使用して新しい構成をテストします。
答え2
デフォルトのデバイスを設定するには、default
デバイスを再定義するのではなく、単に次の内容を に入力します/etc/asound.conf
。
defaults.pcm.card 2 # or better "PCH"
defaults.pcm.device 0
これは、デバイスを明示的に指定せずに実際にデフォルトのデバイスを使用するプログラムに対してのみ機能します。PulseAudio や VLC などのプログラムが特定の出力デバイス用に構成されている場合は、その構成を変更する必要があります。