您的位置:首页 > 运维架构 > Linux

linux中的alsa工具与Android中的tinyalsa工具

2015-11-14 18:01 585 查看

linux系统的aplay, arecord, amixer

amixer

amixer controls获取给定卡的所有control信息

numid=3,iface=MIXER,name='Master Mode Switch'
numid=29,iface=MIXER,name='Master Mux'


amixer contents获取给定卡的所有control中的详细内容

numid=3,iface=MIXER,name='Master Mode Switch'
; type=ENUMERATED,access=rw------,values=1,items=2
; Item #0 'Common Buffer Off'
; Item #1 'Common Buffer On'
: values=0

numid=5,iface=MIXER,name='PCM Volume'
; type=INTEGER,access=rw---R--,values=2,min=0,max=27,step=0
: values=27,27
| dBscale-min=-40.50dB,step=1.50dB,mute=0


smixer cget numid=5,iface=MIXER,name=’PCM Volume’

smixer cset numid=5,iface=MIXER,name=’PCM Volume’ 25

上面介绍的cget/cset系列命令:

controls show all controls for given card

contents show contents of all controls for given card

cset cID P set control contents for one control

cget cID get control contents for one control

类似的,还有另外一套sget/sset系列的命令

scontrols show all mixer simple controls

scontents show contents of all mixer simple controls

sset sID P set control contents for one mixer simple control

sget sID get control contents for one mixer simple control

linux系统的alsamixer

alsamixer是基于文本下的图形界面,可以通过键盘的上下键,左右键等,很方便的设置需要的音量等操作。

amixer是alsamixer的文本模式,即命令行模式。

Android系统的tinyalsa

目前的android系统中使用的是libtinyalsa,位置在android-4.0.3_r1/external/tinyalsa,libtinyals.so是由mixer.c和pcm.c文件生成的,基于这个库有3个工具可以使用:tinyplay,tinycap,tinymix,编译android系统后生成在android-4.0.3_r1/out/target/product/mini210/system/bin/

tinyplay

tinyplay工具非常简陋,只能播放16/32 bit深度的wav文件

tinyplay xxx.wav

tinycap

tinycap xxx.wav

录音并写入xxx.wav文件

tinymix

参考文章

简述amixer及其用法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: