Air201资产定位模组LuatOS:录音播放录音功能的操作方法

news/2024/10/13 10:36:18

 

一直有小伙伴们问,迷你小巧的合宙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调试工具:

  • 最新固件:

  • 最新脚本:
     

2. 调试代码

使用克隆的代码进行测试,代码路径:
LuatOS-Air201\demo\record

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秒,红灯亮起,开始播放录音文件。

▼ 点击查看演示效果 ▼

今天的分享就到这里了
更多实用示例带你开启应用之门
下一期见~

 

图片

你有哪些开发故事分享呢

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/70998.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

手搓党分享:用Air700E开发板+毫米波雷达,搓一个睡眠监测仪!

​只能说,看到这个大佬分享的睡眠监测仪,手上的手环瞬间不香了。。。 用Air700E开发板+毫米波雷达,手搓一个开箱即用的睡眠监测仪,不花冤枉钱!一、项目原理及硬件制作毫米波是指频率范围从30-300GHz的电磁波,它的波长很短,雷达发射的毫米波会随人体反射回来,同时人体微…

记录工作开发日常遇到的问题点-css字体

data.forEach((item, index) => { style +=@font-face {font-family: FileType${index};src: url(${item.FileUrl}) format(truetype);} ht +=` });$(head).append($(<style>).text(style));//插入到head后面$(#fontFamilyContent).html(ht)$(…

手撸二叉树——二叉查找树

二叉树是数据结构中非常重要的一种数据结构,它是树的一种。二叉树是数据结构中非常重要的一种数据结构,它是树的一种,但是每个节点的子节点不能多余两个,可以是0,1,2个子节点,0个子节点代表没有子节点。常见的二叉树结构如下图所示:每个节点的子节点不多于2个,其中3,…

煤矿皮带运输智能监控系统

煤矿皮带运输智能监控系统基于视频AI图像识别算法,煤矿皮带运输智能监控系统通过实时监测皮带运输过程中的各种异常情况,如跑偏、撕裂、堆料异常等,实现对运输过程的智能监控。煤矿皮带运输智能监控系统一旦检测到异常情况,立即发出告警并采取相应的措施,以保障运输安全。…

2024-2025-1《计算机基础与程序设计》第3周学习总结20241428张雄一

学期(如2024-2025-1) 学号(如:20241300) 《计算机基础与程序设计》第X周学习总结 作业信息这个作业属于哪个课程 <班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里 <作业要求的链接>(https://www.cnblogs.com/rocedu/p/9577842.html#WE…

パナソニックグループ プログラミングコンテスト2024(ABC 375)

形象理解这一场的 CA.Seats \(\text{diff }20\)对给定序列 \(S\) 找出 \(i\) 的个数,使得 \(S_{i}=0,S_{i+1}=1,S_{i+2}=0\)#define int long long string x;signed main(){int n;cin>>n;cin>>x;int ans=0;for(int i=0;i<=(int)x.length()-3;++i){if(x[i]==# an…

揭秘 FineVideo 数据集构建的背后的秘密

开放视频数据集稀缺,因此减缓了开源视频 AI 的发展。为此,我们构建了 FineVideo,这是一个包含 43,000 个视频的数据集,总时长为 3,400 小时,并带有丰富的描述、叙事细节、场景分割和问答对。 FineVideo 包含高度多样化的视频和元数据集合,使其成为训练模型理解视频内容、…

财务人的数字化转型

随着全球经济的变化,所有行业从过去的红利,过渡到向管理要红利,数字技术为经营和财务效率带来了令人惊喜的助推力,财务数字化成为企业转型的一个重要方向。 公司战略转型背后,财务组织如何长期落地? 数字化转型带来哪些实质性效益? 财务共享中心数字化建设现状 不同阶段…