全志R528实现Aplay播放音频和录音
播放WAV音频
先根据原理图判断喇叭正负极

amixer controls查询音频接口,由原理图推断测试得我们的接口为LINEOUT Switch,音量接口为LINEOUT volume

查询音量
root@TinaLinux:~# amixer cset numid=16,iface=MIXER,name='LINEOUT volume' 31
设置音量为31(最大为31)
root@TinaLinux:~# amixer cset numid=16,iface=MIXER,name='LINEOUT volume' 31
打开线路输出开关(可以先cget查询,可能默认开启)
root@TinaLinux:~# amixer cset numid=32,iface=MIXER,name='LINEOUT Switch' oN
Aplay播放音乐
root@TinaLinux:~# aplay xxx.wav
录音
由原理图得知有三个mic口,建议先用amixer cgets查询录音通道开关是否打开,因为打开几个开关就只能用几通道录音
单通道录音:
打开mic口
amixer cset name='ADC1 Input MIC1 Boost Switch' 1
选择输入方式
amixer cset name='MIC1 Input Select' 1 0是差分输入,1是单路输入
录音
arecord -Dhw:audiocodec -f S16_LE -r 16000 -c 1 -d 10 -vv /mnt/UDISK/in.wav
解释:使用 设备audiocodec
录制格式为S16_LE
输入比特率为16000
通道数量 1
时间为10s
保存在/mnt/UDISK/in.wav
双通道录音:
打开mic口
amixer cset name='ADC1 Input MIC1 Boost Switch' 1
amixer cset name='ADC2 Input MIC2 Boost Switch' 1
选择输入方式
amixer D hw:audiocodec cset name='MIC1 Input Select' 0
amixer D hw:audiocodec cset name='MIC2 Input Select' 0
录音
arecord -Dhw:audiocodec -f S16_LE -r 16000 -c 2 -d 10 -vv /mnt/UDISK/in.wav
三通道录音:
打开mic口
amixer cset name='ADC1 Input MIC1 Boost Switch' 1
amixer cset name='ADC2 Input MIC2 Boost Switch' 1
amixer cset name='ADC3 Input MIC3 Boost Switch' 1
选择输入方式
amixer D hw:audiocodec cset name='MIC1 Input Select' 0
amixer D hw:audiocodec cset name='MIC2 Input Select' 0
amixer D hw:audiocodec cset name='MIC3 Input Select' 0
录音
arecord -Dhw:audiocodec -f S16_LE -r 16000 -c 3 -d 10 -vv /mnt/UDISK/in.wav
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)