参考例程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和程序烧录到芯片。