回答:
でカードを探す
$ cat /proc/asound/cards
有効なALSAカード名を取得するには、次を使用しますaplay
。
$ aplay -l
そして、/etc/asound.conf
次のように作成します:
pcm.!default {
type hw
card 1
}
ctl.!default {
type hw
card 1
}
「card 1」を、上記で決定したカードの番号または名前に置き換えます。
または、カードの順序を変更して、USBカードがカード0になり、編集せずに機能するようにすることができますasound.conf
。
defaults.pcm.card 1 defaults.ctl.card 1
forum.palemoon.org/viewtopic.php?t
これは、Alsaでデフォルトのサウンドカードを選択する方法です。Pulse Audioを使用している場合、この方法が機能するようにAlsaをインストールすることをお勧めします。
cat / proc / asound / modules
コマンドの出力は次のようになります(例)。
0 snd_hda_intel
1 snd_usb_intel
上からあなたのUSBサウンドカードがどれかを簡単に理解できます。
nano /etc/modprobe.d/alsa-base.conf
このalsa-base.confを編集して、優先カードのインデックスが-2 / 0で、他のカードのインデックスが-1 / 1であるようにします(-2と-1に固執)
オプションsnd_hda_intel index = -1
オプションsnd_usb_intel index = -2
この場合、USBデバイスが優先デバイスです。
次のように、出力から同じ名前の2つの異なるカードがある場合:
オプションsnd_hda_intel
オプションsnd_hda_intel
このコマンドを発行して、どれがどれであるかを見つけます。
猫/ proc / asound / cards
次に、この方法でモジュールを編集します。
オプションsnd_hda_intel enable = 1 index = 0
オプションsnd_hda_intel enable = 0 index = 1
再起動が必要な場合があります。そのため、サウンドカードを手動で切り替える必要がある場合があります。
また、USBデバイスから出力を取得できませんでした。私のcat /proc/asound/modules
出力は:
0 snd_hda_intel
1 snd_hda_intel
2 snd_usb_audio
私はここで説明した両方の答えを試してみましたが、助けにはなりませんでした(多くのインデックスの組み合わせと多くの再起動を伴う)。起動後にUSBデバイスが初期化されたことが問題だったと思います。いずれにせよ、私の作業ソリューションは、次のように更新することにより、他の2つのサウンドデバイスをブラックリストに登録しています/etc/modprobe.d/blacklist.conf
。
blacklist snd_hda_intel
Matija Nalisからの答えは半分しか機能しませんでした(alsamixerがデフォルトを変更しましたが、aplayやfirefoxのような他のものは頑固に間違ったデフォルトのままでした)。debian wikiからのこの例は私のために働いた(CentOS-6ラップトップで):
defaults.pcm.!card Generic_1
defaults.ctl.!card Generic_1
defaults.pcm.!device 0
defaults.ctl.!device 0
記録のために:ALSAの文書化は不十分です。特に、使用するカードを選択するなどのこの非常に単純な作業は非常に困難です。さらに悪いことに、システム間で変化するようです。また、aplay -lから「Generic_1」タグを取得し、リストの「card 1」として表示されます。他の人がそれを使用しているようだったので、私は同じことをしました...それは私が言うことができないことを意味します。
.asoundrcまたはシステムasound.confを編集してデフォルトのalsaカードを変更できますが、このアプローチにはいくつかの重要な問題があります。
壊れやすく、アプリケーションの再起動が必要です。
その場でカードを切り替えたい場合は、pulseaudioなどのサウンドカードからアプリケーションを正しく抽象化するサウンドサーバーを使用する必要があります。
以下は、Matija NalisとTelの回答のバリエーションです。これは私のために働いたものです:
〜/ .asoundrc
defaults.pcm.!card 1
defaults.ctl.!card 1
(aplay -lによると、Odroid C0、Debian Jessie、カード0としてのHDMIオーディオ、カード1としてのUSBサウンドカード)
注:/ proc / asound / modulesが存在せず、ブラックリストに載せたり、優先度を低くしたりするhdmiオーディオモジュールがないため、他の方法は機能しませんでした。カーネルに組み込まれています。完全に無効にするためには、hdmiオーディオのサポートなしでカーネルを再コンパイルする必要があったようです。