linux录制声卡声音_Linux ALSA 多声卡操作

本文详细介绍了在Linux环境下,特别是嵌入式系统中如何处理多声卡操作,重点讨论了如何查看声卡列表、设置默认声卡及在应用程序中选择特定声卡进行播放和录音。通过编译配置ALSA库和工具,以及测试各种播放软件如aplay、arecord、madplay和mplayer等,展示了在不同声卡间切换的方法。
摘要由CSDN通过智能技术生成

Andrew Huang 转载请注明作者和网址.

一般嵌入式系统只一个声音硬件作输出,所以大部分操作都采用默认的声卡即可操作。因此没有注意多网卡切换的问题,但是引入USB 声卡后,在嵌入式系统形成N个声卡,这样如果自动选定的缺省声卡,如何在应用程序切换声卡变成很现实的问题。

因为设计关系统OSS是无法进行多声卡的操作,只有ALSA才支持.

这个文章对于多声卡的操作描述很详细

对于ALSA多声卡操作我重点关注如下几个问题.

1.如何象LINUX的图形界面显示系统的所有声卡的列表?

2.如何选定某一个声卡为缺省输出?

3.如果在应用程序选定某一个非缺省的声卡来播放声音?

查看alsa声卡列表的功能,可以查看aplay -l 的实现.这个命令就是用来实现

一.测试环境

测试环境:mini6410 , Linux 2.6.28.6. 内核增加use auido

1.1.编译内核

增加USB Audio选项

110619181203.png

1.2 编译 alsa-lib/alsa-utils

编译alsa库最好编译两次:

第一次把alsa的配置文件放入output目录以便发布../configure --host=arm-linux --prefix=$PWD/../../output/arm-linux --enable-static --enable-shared  --disable-python   --with-plugindir=/usr/local/lib/alsa_lib

如果是mini6410则需要把缺省的设备结点目录/dev/snd 改成 /dev

./configure --host=arm-linux --prefix=$PWD/../../output/arm-linux --enable-static --enable-shared  --disable-python   --with-plugindir=/usr/local/lib/alsa_lib --with-alsa-devdir=/dev

make

make install

第二次让缺省库使用时去找/usr/local/share/alsa,

make clean

./configure --host=arm-linux --prefix=$PWD/../../output/arm-linux --enable-static --enable-shared  --disable-python --with-configdir=/usr/local/share/alsa  --datarootdir=$PWD/../../output/arm-linux/share

--with-alsa-devdir=/dev #红色是mini6410要加的

make

make install

这一次为解决运行时提示配置文件

ALSA lib pcm.c:2145:(snd_pcm_open_noupdate) Unknown PCM default

aplay: main:546: audio open error: No such file or di

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值