私のラップトップ用の新しいドッキングステーションがあり、オーディオ/alsaを設定するのに問題があります。
cat /proc/asound/cards確認後
0 [PCH ]: HDA-Intel - HDA Intel PCH
HDA Intel PCH at 0xec248000 irq 158
1 [Audio ]: USB-Audio - ThinkPad Dock USB Audio
Generic ThinkPad Dock USB Audio at usb-0000:3c:00.0-1.4.4, high speed
私はこのように/etc/asound.confを作成しました。
pcm.!default {
type hw
card 1
}
ctl.!default {
type hw
card 1
}
これはほとんどのアプリケーション(Chromium、VLC、mpdなど)で動作しているようですが、Firefoxではオーディオ出力が表示されず、同時に複数のアプリケーション(並列?)でもオーディオ出力がありません(たとえば、Chromiumを実行している場合)、VLCへのオーディオありません。)
VLC では、次のエラーメッセージが表示されます。
Audio output failed:
The audio device "default" could not be used:
Device or resource busy.
- 同時に複数のアプリケーションで動作させるにはどうすればよいですか?
- Firefoxで特にやるべきことはありますか?
- カード1(ドッキングステーション)が接続されていない場合、どのようにカード0(ノートブック)に戻りますか?
小さな花袋
リソース:
- https://superuser.com/questions/626606/how-to-make-alsa-pick-a-preferred-sound-device-automatically
- https://wiki.archlinux.org/title/Advanced_Linux_Sound_Architecture#Set_the_default_sound_card
インストール済みパッケージ:
alsa-utils, alsa-firmware, sof-firmware
名前-a:
Linux T480s 6.7.4-arch1-1 #1 SMP PREEMPT_DYNAMIC Mon, 05 Feb 2024 22:07:49 +0000 x86_64 GNU/Linux
編集:マルチオーディオ出力とFirefoxオーディオはカード0(内部)でうまく機能します。
編集2:
次のようなhttps://wiki.archlinux.org/title/Advanced_Linux_Sound_Architecture#Configuring_the_index_order_via_kernel_module_options/etc/modprobe.d/alsa-base.confでカードのインデックス順序を変更しました。
options snd_usb_audio index=0
options snd_hda_intel index=1
/etc/asound.confを削除して再起動しました。
snd_usb_audioがプライマリカード(card0)にロードされると機能します。 Firefoxオーディオはうまく機能し、同時に複数のアプリケーションからオーディオを出力できます。
つまり、挿入するときにsnd_usb_audioをカード0にロードし、挿入しない場合はsnd_hda_intelに置き換えることができます。 alsa-base.confまたは/etc/asound.confでこれを行うことはできますか?
答え1
<kidding>
「え?私もあなたの言葉に同意し、友達!</kidding>
混乱した方法で問題にアクセスするには:
Firefoxにオーディオ出力がありません
なぜなら…ちょっと…覚えていません。いくつかの悲劇的な理由で、Firefoxは単一のオーディオバックエンドであるpulseaudioをサポートすることにしました。
alsa(または他のサウンドサーバー)に直接出力したい場合は、従う必要がある唯一の方法は...これを達成するためのいくつかの設定オプションをまだ提供しているので、ソースからビルドすることです。
デバイスまたはリソースが使用中です。
最初のアプリの定義を考慮するとpcm.!default
、そのアプリを使用する最初のアプリは、自分自身で排他的な使用のためにデバイスをすぐにブロックして、他のアプリが同時にそうするのを防ぎます。
これを防ぐために、私のシステムに実装したソリューションは、pcm.defaultをdmixerプラグインにすることで構成されています。
pcm.!default{
type plug
slave.pcm "dmixer"
hint{
show on
description "Tux Alsa Default"}}
記録のために私のdmixerの詳細は次のとおりです。
pcm.dmixer{
type dmix
ipc_key 219345
slave{
pcm MAUDIO
format S32_LE
period_size 1024
buffer_size 4096 }}
そして私のMAUDIO pcmは定義に注意を喚起するためのものですnonblock true
。
pcm.MAUDIO{
type hw
card M2496
device 0
subdevice 0
nonblock true}