Clementine 使用ALSA调用USB声卡

Clementine 使用ALSA调用USB声卡

IT, 其他

某一天偶然想到要再linux系统中实现类似于Windows 中ASIO的输出,于是就找到了ALSA这个linux中的高级声音体系,在这个体系中,使用alsa-utils即可调用各种高级API

那么也就是说在一些可以使用ALSA的软件中也可以根据这些方法调用外部USB声卡。因此我就做了以下尝试。

配置Clementine,选择ALSA模式,Output Device留空,此时声音仍然从系统默认的扬声器中输出,于是我尝试输入ATPHA100(我的USB-DAC的型号),发现此时显示找不到设备。那么正确的名称是什么呢,我在/dev/snd中搜索了以下发现了一些类似pcmC0D0p命名方式的设备,我尝试用这些名称调用声卡,但是最终发现,这些名称仍然不可以正确调用到我的USB-DAC。此时我注意到,在Output Device的介绍中有提到”front”这样的关键词,我尝试搜索了以下,这个是设定音频输出模式的,包括环绕声模式等。于是我搜索了一下如何查询并设定输出模式,并找到了以下命令:


aplay -L | grep :CARD

输入命令后我得到了以下信息:


front:CARD=PCH,DEV=0
surround40:CARD=PCH,DEV=0
surround41:CARD=PCH,DEV=0
surround50:CARD=PCH,DEV=0
surround51:CARD=PCH,DEV=0
surround71:CARD=PCH,DEV=0
iec958:CARD=PCH,DEV=0
dmix:CARD=PCH,DEV=0
dmix:CARD=PCH,DEV=1
dsnoop:CARD=PCH,DEV=0
dsnoop:CARD=PCH,DEV=1
hw:CARD=PCH,DEV=0
hw:CARD=PCH,DEV=1
plughw:CARD=PCH,DEV=0
plughw:CARD=PCH,DEV=1
sysdefault:CARD=ATPHA100
front:CARD=ATPHA100,DEV=0
surround40:CARD=ATPHA100,DEV=0
surround41:CARD=ATPHA100,DEV=0
surround50:CARD=ATPHA100,DEV=0
surround51:CARD=ATPHA100,DEV=0
surround71:CARD=ATPHA100,DEV=0
iec958:CARD=ATPHA100,DEV=0
dmix:CARD=ATPHA100,DEV=0
dsnoop:CARD=ATPHA100,DEV=0
hw:CARD=ATPHA100,DEV=0
plughw:CARD=ATPHA100,DEV=0


配合文档介绍发现了,我所需要的直接输出就是Direct hardware device without any conversions.我将”hw:CARD=ATPHA100,DEV=0″填写到Output Device文本框中,确认,然后再一次尝试播放音乐,此时声音就能顺利的从DAC中输出了。

通过这次调试,我初步了解了ASLA的运用以及部分原理,并且可以正确输出音频。

Amefs, EFS, Music, 教程
上一篇文章
SyntaxHighlighter Evolved VS and AVS Brush
下一篇文章
Dell UP2516D 显示器开箱及使用感受

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Fill out this field
Fill out this field
请输入有效的邮箱地址。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

keyboard_arrow_up