当前位置: 首页 > 工具软件 > Flash Killer > 使用案例 >

ESP32 ADF 离线播放mp3 mp3烧录flash

宋鸿云
2023-12-01

播放本地mp3

参考例程esp-adf\examples\player\pipeline_flash_tone,其思路是在PC端将多个mp3文件合并成一个二进制的文件,并在分区别中将为文件设置flash_tone空间。最后将该文件烧录到指定的地址中,在程序中调用flash_tone的接口函数就能读取到mp3.

一、制作二进制音频文件

使用ADF提供的mk_audio_bin.py脚本来生成上述二进制文件。

mk_audio_bin.py的作用是将当前目录下的MP3和wav文件集合生成一个audio-esp.bin的音频文件,并在main/audio目录下生成audio_tone_uri.h和audio_tone_uri.c。

mk_audio_bin.py下载地址:https://wwe.lanzoui.com/iRoNYtdueub

首先安装python2.7,将mp3文件放在mk_audio_bin.py的同一目录下,执行下面命令生成二进制文件:

python2 mk_audio_bin.py

二、修改分区表

在分区表partitions.csv中添加一项

flash_tone,data, 0x04, 0x320000, 0xc800,

表示添加一个名称为flash_tone的分区,其分区类型是data,子类型是0x4,在flash中的偏移地址是0x320000,这个地址也说烧录地址,分区大小为0xc800,也就是100k。

三、在代码中使用

需要在main目录下的Makefile文件中,添加audio_tone_uri.c:

set(COMPONENT_SRCS “./audio/audio_tone_uri.c”)

代码中具体使用参考ADF的examples/player/pipeline_flash_tone/main/play_tone_mp3_example.c

四、烧录

使用你的烧录工具,将audio-esp.bin和程序烧录到芯片。

参考资料

在线文字转语音
python2和python3共存 安装

 类似资料: