前段时间发过一个帖子总结了一下做WAV播放器的过程,后来想说继续做个MP3播放器,之前查过不少利用单片机做MP3的方案,大部分都是用VS1003芯片硬解,比较简单,还有就是软解MP3了,软解主要是LibMad库和Helix库,LibMad库因为占用Ram比较大所以用的比较少,Helix大概需要14KB的RAM,大部分还是用Helix库,而且经过我的移植发现Helix库还是比较好移的,通过实验发现Helix库基本能够支持大部分MP3,不过还没试过VBR的MP3,接下去准备继续优化。先上两个视频,一个是在学校拍的,还没将FFT显示整合,一个是在公司宿舍拍的,因为没有音响,用耳机放在手机上。
先说下本次具体解决的问题:
1.首先当然就是MP3解码库的移植,第一次用的是LibMad库,比较麻烦,不过大家可以参考Libmad库移植教程,Helix的移植还是比较简单,大家可以参考网上的例程。
2.因为上次用的是1G的SD卡,因为WAV文件比较大,1G存不了几首,所以想着增大存储量,但是因为f303ret6没有sdio接口,而且网上基本没有基于SPI方式的大容量SD卡读写 。因为<2G的SD卡属于1.0,2~64G 属于2.0协议(不一定),可以通过读取CSD值获取卡类型。之后再发送不同的指令,具体还是比较麻烦。剩余空间有时会出错。
待续。。。
|