RKMEDIA--AI/AO的使用
创始人
2024-03-23 23:14:30

本节了解一下rkmedia中ai/ao模块的使用。

AI/AO模块通过对Linux ALSA音频接口的封装,实现音频输入输出功能。

AI初始化:

  AI_CHN_ATTR_S ai_attr;ai_attr.pcAudioNode = "default";ai_attr.enSampleFormat = enSampleFmt;ai_attr.u32NbSamples = RK_SAMPLE_FMT_S16;ai_attr.u32SampleRate = 1024;ai_attr.u32Channels = 2;ai_attr.enAiLayout = AI_LAYOUT_NORMAL;ret = RK_MPI_AI_SetChnAttr(0, &ai_attr);ret |= RK_MPI_AI_EnableChn(0);if (ret) {printf("Enable AI[0] failed! ret=%d\n", ret);return -1;}

AO初始化:

  AO_CHN_ATTR_S ao_attr;ao_attr.pcAudioNode = "default";ao_attr.enSampleFormat = RK_SAMPLE_FMT_S16;ao_attr.u32NbSamples = 1024;ao_attr.u32SampleRate = 16000;ao_attr.u32Channels = 2;ret = RK_MPI_AO_SetChnAttr(0, &ao_attr);ret |= RK_MPI_AO_EnableChn(0);if (ret) {printf("ERROR: create ao[0] failed! ret=%d\n", ret);return -1;}

音频节点默认是"default",实际就是card 0 ,device 0  。如果连接了其他声卡,节点需要更改。

可能是card 1,device 0 那就让他把节点设置成 hw:1,0

音频调试工具以及常用命令

录音(arecord)

1、列出声卡和数字音频设备:arecord -l

2、录音:arecord -Dhw:0,0 -c 2 -r 16000 -f S16_LE /temp/test.wav

                arecord -Dhw:0,0 -d 10 -r 16000 -c 2 -f S16_LE -t wav test.wav

                arecord -Dhw:0,0 -c 1 -r 8000 -f S16_LE /tmp/test.wav

播放(aplay)

1、播放:aplay -t raw -c 1 -f S16_LE -r 8000 test2.pcm 

 接口配置(amixer):

amixer:
Usage: amixer [command]
几个重要命令介绍:
scontrols :  显示所有的简单控件
scontents:  显示所有的简单控件的描述
sset : 控制简单控件
sget:显示简单控件的内容
controls: 显示所有的控件
cset:控制控件
cget:显示控件

如果板子录音没有声音,可能是mixer 没有设置通路。
1、amixer contents
2、amixer cset numid=2,iface=MIXER,name='Capture MIC Path' 'Main Mic'
3、amixer cget numid=2,iface=MIXER,name='Capture MIC Path'   设置完后查看下是否设置成功

如果音响没有声音
amixer -c 0 contents
amixer -c 0 cset numid=1 2

以上两种设置语法格式,都可以设置。根据自己板子的信息来配置。


[root@RV1126_RV1109:/]# amixer contents
numid=3,iface=MIXER,name='Master Playback Volume'; type=INTEGER,access=rw---RW-,values=2,min=0,max=255,step=0: values=255,255| dBscale-min=-20.00dB,step=0.03dB,mute=0
numid=2,iface=MIXER,name='Capture MIC Path'; type=ENUMERATED,access=rw--l---,values=1,items=4; Item #0 'MIC OFF'; Item #1 'Main Mic'; Item #2 'Hands Free Mic'; Item #3 'BT Sco Mic': values=1
numid=1,iface=MIXER,name='Playback Path'; type=ENUMERATED,access=rw------,values=1,items=11; Item #0 'OFF'; Item #1 'RCV'; Item #2 'SPK'; Item #3 'HP'; Item #4 'HP_NO_MIC'; Item #5 'BT'; Item #6 'SPK_HP'; Item #7 'RING_SPK'; Item #8 'RING_HP'; Item #9 'RING_HP_NO_MIC'; Item #10 'RING_SPK_HP': values=0
numid=4,iface=MIXER,name='Digital Capture Volume'; type=INTEGER,access=rw---RW-,values=2,min=0,max=100,step=0: values=100,100| dBscale-min=-30.00dB,step=0.30dB,mute=0

注意:在使用rkmedia 的音频输入有问题时,首先要确保使用arecord和aplay命令可以获取、播放声音。如果这个都无法保证,需要确认音频节点或者驱动、硬件等是否正确。

多路音频输入输出

具体可以参考rkmedia中example/multi_audio_test文件夹,需要配置asound.conf分离音频

如有其他问题,可以在评论区一起探讨。

文章汇总:RKMEDIA使用简介_未_定的博客-CSDN博客

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...