新手入门
- 积分
- 14
- 金钱
- 14
- 注册时间
- 2020-7-31
- 在线时间
- 6 小时
|
1金钱
背景介绍:使用F103基于Freertos实现WIFI模块接收手机发送的音频文件数据,并使用VS1053解码播放,播放结束后,将收到的音频文件编码为MP3文件存在sd卡里;请问有没有前辈做过类似的呢?我的大概思路是这样的,不知道方案可不可行:建立一个缓存数组,数据接收任务只要一收到数据就往里放,然后建立一个播放音乐的任务,不停的从这个缓存数组里取数据发给1053解码播放,播放完成后,单片机将这个缓存数组的数据存储为mp3文件格式;现在有几个问题不知道怎么解决,谢谢大家帮忙提些建议呢,谢谢!
问题1:缓存数组的问题,这个数组因为最终存放一首歌的数据,所以肯定至少是大于4M的空间,选一个外部ram芯片,好像可以解决问题,但是成本限制,不能再增加外设了,不知道还有没有其他办法实现,比如先把这些数据以16进制方式创建为多个缓存文件存到sd卡,最后用一个整合数据的任务函数去整合再编码为mp3文件;
问题2:参考原子大佬的录音机代码,了解到要存储wav格式文件,需要先初始化wav头,再写数据进去,所以我想这里往sd卡创建mp3文件,应该也需要先初始化mp3头,再写入音频数据进去,但是苦于找不到mp3文件头初始化的方法,有没有前辈指点一下 ;
谢谢各位!
|
最佳答案
查看完整内容[请看2#楼]
用wifi传输,MP3也许可以,不过建议最好用SPI/SDIO接口的WIFI,串口WIFI速度可能有点慢,你可以自己计算下
|