Answers:
查找您的卡片
$ cat /proc/asound/cards
要获取有效的ALSA卡名称,请使用aplay
:
$ aplay -l
然后创建/etc/asound.conf
以下内容:
pcm.!default {
type hw
card 1
}
ctl.!default {
type hw
card 1
}
将“卡1”替换为上面确定的卡号或名称。
或者,您可以更改卡的顺序,以便您的USB卡将成为卡0,并且无需编辑即可使用asound.conf
。
defaults.pcm.card 1 defaults.ctl.card 1
forum.palemoon.org/viewtopic.php?t=9661#p66016
这是在Alsa中选择默认声卡的方法。如果您使用的是Pulse Audio,则可能需要安装Alsa才能使此方法起作用。
cat / proc / asound / modules
将列出您的声音模块。命令的输出将如下所示(例如):
0 snd_hda_intel
1 snd_usb_intel
您可以从上面轻松地了解哪个是您的USB声卡。
纳米/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设备是首选设备。
如果您在输出中有两个名称相同的不同卡,例如:
选项snd_hda_intel
选项snd_hda_intel
发出此命令找出哪个是:
猫/ proc /声音/卡片
然后以这种方式编辑模块:
选项snd_hda_intel enable = 1索引= 0
选项snd_hda_intel enable = 0索引= 1
可能需要重新启动。因此,您可能必须手动切换声卡。
来自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”。其他人似乎正在使用它,所以我做了同样的事情……这意味着我不能说。
这是Matija Nalis和Tel的答案的一种变体。这对我有用:
〜/ .asoundrc
defaults.pcm.!card 1
defaults.ctl.!card 1
(根据aplay -l,Odroid C0,Debian Jessie,HDMI音频作为卡0和USB声卡作为卡1)
注意:其他方法对我不起作用,因为/ proc / asound / modules不存在,并且没有将hdmi音频模块列入黑名单或设置为低优先级,它已嵌入内核。似乎我不得不重新编译没有hdmi音频支持的内核才能完全禁用它。