首页专栏详情
打赏
交叉编译alsa工具,笔记记录
易百纳技术社区 在学了在学了! 2022-04-01 17:01:16

交叉编译alsa工具

alsa1.2.6编译脚本

lib

CC=aarch64-himix210-linux-gcc \
./configure —host=aarch64-himix210-linux \
—prefix=$PWD/_install
make
make install

utils

CC=aarch64-himix210-linux-gcc \
./configure —prefix=$PWD/_install \
—host=aarch64-himix210-linux \
—with-alsa-inc-prefix=$PWD/../alsa-lib-1.2.6.1/_install/include/ \
—with-alsa-prefix=$PWD/../alsa-lib-1.2.6.1/_install/lib \
—disable-alsamixer \
—disable-xmlto \
—disable-nls
make
sudo make install

添加配置文件路径

交叉编译alsa工具后,工具寻找alsa.conf文件始终去找虚拟机的编译目录,configure修改datarootdir后仍无法指定;报错如下:
Cannot access file /home/leo/HI_SDK/3531DV200/v2.0.2.0/Hi3531DV200_SDK_V2.0.2.0/osdrv/tools/board/alsa/alsa-lib-1.2.6.1/_install/share/alsa/alsa.conf
解决方法:
在代码中找到alsa.conf相关的宏,到arm下export指定路径
export ALSA_CONFIG_PATH=/usr/share/alsa.conf

注:alsa框架常配合USB Audio设备使用

ALSA音频工具

列出声卡和数字音频设备

./aplay -l
card 0: SOUND0 [TI81XX SOUND0], device 0: TVP-PCM tvp5158-hifi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: SOUND0 [TI81XX SOUND0], device 1: AIC3X tlv320aic3x-hifi-1 []
Subdevices: 1/1
Subdevice #0: subdevice #0

根据上面列出的设备,如果选择tvp5158来录制声音的话那么pcm设备就位hw0,0,如果是tlv320aic3x则pcm设备为hw0,1。
设备以hwx,x开头,前一个x为声卡号(card),后一个x为设备号(device)

参数

-D参数用于指定音频设备PCM
-r指定采样频率:
5512/8000/11025/16000/22050/32000/44100/48000/64000/88200/96000/176400/192000
-f指定采样格式上面列出了:cd/cdr/dat/S16_LE/S32_LE/…
-f cd (16 bit little endian, 44100, stereo)
-f cdr (16 bit big endian, 44100, stereo)
-f dat (16 bit little endian, 48000, stereo)
-t 指定文件类型 (voc, wav, raw or au)

播放

./aplay -Dhw:0,0 -r48000 -f cd /nfsroot/alsa/audio.pcm

录音

./arecord -Dhw:0,0 -r48000 -f S16_LE -c 2 /nfsroot/alsa/audio.pcm
./arecord -Dhw:0,0 -r48000 -f cd /nfsroot/alsa/audio.pcm

同时录音且播放

利用管道的命令:
./arecord -Dhw:0,1 -r48000 -f cd|./aplay -Dhw:0,1 -r48000

969
收藏
点赞
打赏
给作者打赏,鼓励他抓紧创作吧~
人在车底,非常的菜。
评论
0个
内容存在敏感词
相关专栏
打赏作者
易百纳技术社区
在学了在学了!
您的支持将鼓励我继续创作!
打赏金额:
¥1 易百纳技术社区
¥5 易百纳技术社区
¥10 易百纳技术社区
¥50 易百纳技术社区
¥100 易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区 微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

审核成功

发布时间设置
发布时间:

审核失败

失败原因
备注
Loading...
易百纳技术社区
确定要删除此文章、专栏、评论吗?
确定
取消
易百纳技术社区
易百纳技术社区
在专栏模块发布专栏,可获得其他E友的打赏
易百纳技术社区
回答悬赏问答,被题主采纳后即可获得悬赏金
易百纳技术社区
在上传资料时,有价值的资料可设置为付费资源
易百纳技术社区
达到一定金额,收益即可提现~
收益也可用来充值ebc,下载资料、兑换礼品更容易
易百纳技术社区
活动规则
  • 1.周任务为周期性任务,每周周一00:00刷新,上周完成的任务不会累计到本周,本周需要从头开始任务,当前任务完成后才可以完成下一个任务
  • 2.发布的专栏与资料需要与平台的板块有相关性,禁止注水,专栏/资料任务以审核通过的篇数为准
  • 3.任务完成后,现金奖励直接打款到微信账户;EBC/收益将自动发放到个人账户,可前往“我的钱包”查看;其他奖励请联系客服兑换
  • 4.每周最后三个任务将会有以下奖品掉落:社区热卖开发板、小米音响、视频年度会员、京东卡、华为手机等等
易百纳技术社区