Raspberry Pi / Aplay / 默认声卡

11

我为我的树莓派3购买了“声卡播放器2”声卡。操作系统是Raspbian Jessie。

当我运行时,我的树莓派上的音频可以正常工作

 $ aplay /usr/share/sounds/alsa/Front_Center.wav -D sysdefault:CARD=S2

但只有在我使用-D时才能成功。当我使用

$ aplay /usr/share/sounds/alsa/Front_Center.wav

它展示了:

aplay: set_params:1239: Channels count non available

我需要这个用于node-speaker。

以下是ALSA信息脚本的输出:http://www.alsa-project.org/db/?f=bdefa248fdedb34929d492e65ea941f2af40dcb2

1个回答

40

好的,我找到了解决方案...

我的新~/.asoundrc文件:

pcm.!default {
        type plug
        slave {
                pcm "hw:0,0"
        }
}

ctl.!default {
        type hw
        card 0
}

代替

pcm.!default {
        type hw
        card 0
}

ctl.!default {
        type hw
        card 0
}

魔力发挥作用了 :)


4
我认为你可能是地球上唯一一个实际完成这个任务的人类。我已经厌倦了寻找解决方案。我通常不发感谢的帖子,但是谢谢你,先生,我欠你一份人情 敬礼 - Quintin Balsdon
哈哈哈哈!!!很抱歉要重复Quintin的错误,但是太棒了!!你能否修改你的答案来说明重要的部分?如果我理解正确,那就是你必须使pcm“hw,0,0”成为另一个设备的从设备。此外,为了使这更有用,你能否请发布一下你的aplay -L的输出?在我的情况下,当我尝试在HDMI设备上播放时,我遇到了这个错误,我不得不将HDMI设备(pcm“hw:0,3”)设置为我的实际声卡的从设备。 - Daniel Santos
这正是我所需要的,以防有人想知道如何为Raspberry Pi Zero W提供廉价的外部USB dongle或者其他不同于0的东西 - 只需将0更改为1(或任何输出“aplay -l”的设备ID),就像我所做的那样:pcm.!default { type plug slave { pcm "hw:1,0" } }ctl.!default { type hw card 1 } - RLapinski
再次感谢——我基本上做了@RLapinski所做的事情,因为我的USB音频设备显示为“卡1”,而内置HDMI则为“卡0”。 - geerlingguy
你能解释一下为什么它可以工作吗? - ThePhi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接