? 超低功耗、精準定位、快速量產——迷你小巧的合宙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秒,紅燈亮起,開始播放錄音文件。
今天的分享就到這里了
更多實用示例帶你開啟應用之門
下一期見~
?
審核編輯 黃宇
?
-
芯片
+關注
關注
455文章
50714瀏覽量
423131 -
LuatOS
+關注
關注
0文章
76瀏覽量
1936
發布評論請先 登錄
相關推薦
評論