本文章分享一个本地录音和实时传输录音给app的功能(杰理)
摘要:本文介绍了基于杰理手表SDK的音频功能开发流程。首先通过万用表检测喇叭和麦克风硬件状态,确保设备正常。其次利用SDK自带功能实现本地录音存储,需注意文件格式(MP3/ASPCM)与TCFG_UI_ENABLE_RECORD宏配置。最后重点说明实时音频传输功能的实现:需移植demo并修改cmd_recieve.c、clock_manager.c等文件,添加必要的事件和时钟配置,最终通过UI按钮
我用的是杰理手表sdk,该功能学会就可自行在任何杰里sdk上做,库函数大致一样,学会运用这个方向就好。
1.我们要验证这个喇叭和麦是否正常
最简单的的办法,就是直接万用表测试,直接接正负极,看看是否通路,虽然有局限性,但可以初步判断硬件是否短路或断路。如果有问题,那就不是本章的内容了哈哈。
2.先在本机上能做到,录音开始和结束,生成本地文件夹,通常存储在sd卡中。
这个功能一般的sdk是自带的,我们只需要配置和应用就好。
板极:



这个1和2需要注意一下,这里如果只是达成第二步,其实随便开一个就可以,我一看是开的是第一个,mp3的,但是后面传给app的数据是需要ASPCM格式的,所以这里根据实际情况,看看app需要什么。
这里还有一个需要注意的我们前面打开的一个宏TCFG_UI_ENABLE_RECORD,在ui_action_record.c里面已经把本功能需要的ui名字和卡片位置定义好,不需要自己新建,有冲突需要自行修改。

就这样,大概功能自行看ui_action_record.c。生产的文件在sd卡中,可以直接做个列表展示并播放出来,后续有时间,会出一个这个文章。
3.打通这个一直实时传输音频,需要移植一个小demo,建议先在公版上面调通,再移植在自己开发的sdk。
需要新增的只有三个,杰里会有,需要可以评论。别忘了makefile。

其他的调试修改:
板极找位置增加,用来配合新文件的

在cmd_recieve.c添加两个事件

别忘了添加这个JL_rcsp_protocol.h枚举

clock_manager.c中新增RECORD_USR_CLK

在clock_cfg.h中定义RECORD_USR_CLK

这最后就需要配置一个ui去触摸这个实时传输,这个自定义做就好了

我这就定义一个按钮测试,调试完成后,直接调用开始和停止就可以了,我这里定义了20秒试试。
我这里用的是杰理app的协议,没做介绍,这个实时传输是连上的时候操作。
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)