alsa&tinyalsa

一、alsa&tinyalsa介绍

ALSA(Advanced Linux Sound Architecture)是一个开源项目,涵盖了用户空间和内核空间对音频设备的操作接口,通过应用层使用alsalib可以实现对音频设备的控制

TinyAlsa是android推出的一个精简的ALSA库,当然alsa-driver这块没有改动

alsa包含:1、内核 alsa-driver 2.用户空间 alsa-lib(android使用的TinyAlsa)

二、查看声卡和pcm设备

1、查看当前的声卡:

cat /proc/asound/cards

2、查看pcm设备列表:

cat /proc/asound/pcm

3、查看当前有哪些进程占用了pcm设备节点

lsof |grep pcm

4、查看有哪些音频设备节点

ls /dev/snd/

音频设备的命名规则为 [device type]C[card index]D[device index][capture/playback],即名字中含有4部分的信息:

device type

设备类型,通常只有comtrol/pcm这2种。从上图可以看到声卡会管理很多设备,PCM设备只是其中的一种设备。

card index

声卡的id,代表第几块声卡。通常都是0,代表第一块声卡。手机上通常都只有一块声卡。

device index

设备的id,代表这个设备是声卡上的第几个设备。设备的ID只和驱动中配置的DAI link的次序有关。如果驱动没有改变,那么这些ID就是固定的。

capture/playback

只有PCM设备才有这部分,只有c和p两种。c代表capture,说明这是一个提供录音的设备,p代表palyback,说明这是一个提供播放的设备。

系统会在/proc/asound/pcm文件中列出所有的音频设备的信息,如果是肉眼查看,cat /proc/asound/pcm中的信息会更直观一些。

三、tinyalsa的使用

1、编译tinyalsa

aosp/external/tinyalsa$ mma

编译完后就生成tinyplay、tinymix、tinycap等工具。

xxxx/aosp/out/target/product/ecarxICp1_64/system/bin$ ls tiny*
tinycap  tinyhostless  tinymix  tinypcminfo  tinyplay

将生成的这些可执行bin文件拷贝到开发板的/system/bin下,并加可执行权限。

xxxx:/system/bin $ ls tiny* -l                                              
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值