超低功耗、精准定位、快速量产——迷你小巧的合宙Air201,正给越来越多的行业客户带来高效开发体验。
此前有小伙伴问:是否支持录音、播放录音功能?
高集成化设计的Air201自带了ES8311音频解码芯片(Audio Codec)及MIC麦克,可支持本地的录音功能;使用配套喇叭即可将录音保存的数据进行播放,操作极为方便。
本期,我们就来学习合宙Air201实用示例
——录音和播放录音功能
** Air201录音&播放录音功能**
[]
合宙Air201资产定位模组 ——是一个集成超低功耗4G通信、语音通话、超低功耗定位、计步、震动、Type-C、充电、放音、录音等功能的超小PCBA。
内部集成高效、简单、可靠的LuatOS语言,旨在帮助客户降低开发难度,降低研发成本,以及打造超小超低功耗的精品产品。
接下来,教你从零上手,实现Air201录音和播放的功能。
1. 搭建环境
新同学建议先看前期的[基础知识]相关教程,更有助于理解和操作。
此时可以在LuaTools项目管理中新建一个项目,重新选择底层CORE和脚本;或者在原有项目的基础上,不更换CORE,将原来的脚本删除,添加为demo/record的脚本。
1.1 硬件准备:
合宙Air201板子自带了ES8311音频解码芯片(Audio Codec)及MIC麦克,硬件主要外接一个喇叭。
- 合宙Air201 PCBA及配套喇叭
- 带有数据通信功能的数据线
- Win10以上PC
▼ Air201连接喇叭示意 ▼
注意:Air201最大支持8Ω 1.2W功率喇叭(默认),或者4Ω 2.5W功率喇叭。
1.2 软件准备:
- LuaTools调试工具:
https://doc.openluat.com/wiki/52?wiki_page_id=5071 - 最新固件:
https://gitee.com/openLuat/LuatOS-Air201/tree/master/core - 最新脚本:
https://gitee.com/openLuat/LuatOS-Air201/tree/master/demo/record
2. 调试代码
使用克隆的代码进行测试,代码路径:
LuatOS-Air201demorecord
2.1 初始化驱动ES8311
Air201板子自带了ES8311音频解码芯片(Audio Codec),所以硬件配置参数是固定的。
ES8311使用了I2C0,电源脚为GPIO2,PA控制脚为GPIO23。
2.2 注册音频事件回调函数
2.3 准备录音
录音API说明
audio.record(id, record_type, record_time, amr_quailty, path, record_callback_time)
- id:
多媒体播放通道号 - record_type:
录音音频格式,支持audio.AMR和audio.PCM - record_time:
录制时长,单位秒,可选参数,默认为0则表示一直录制。 - amr_quailty:
录音质量,只有在音频格式为audio.AMR的情况下此参数有效。 - path:
录音文件路径,可选参数,不指定则不保存,可以再audio.on回调函数中处理原始PCM数据。 - record_callback_time:
单次录音回调时长,单位100ms,默认1即100ms。在不指定录音文件路径时,此参数有效。
2.4 播放录音
播放录音需要使用**audio.play() **接口,需要将录音文件的存放路径(path),作为第二个参数传入,就可以将刚刚录音的文件,进行播放。
3. 展示效果
将demo烧录至Air201,烧录进去之后会自动开机(如果有意外没有自动开机的话,请手动开机)。
烧录完程序开机后,等待蓝灯亮起,再对着MIC麦克说话。
经过5秒后,蓝灯灭掉,会自动结束录音。随后间隔2秒,红灯亮起,开始播放录音文件。
今天的分享就到这里了
更多实用示例带你开启应用之门
下一期见~
审核编辑 黄宇
-
芯片
+关注
关注
454文章
50531浏览量
422457 -
LuatOS
+关注
关注
0文章
75浏览量
1929
发布评论请先 登录
相关推荐
评论