1.下载mad包。
libmad-0.15.1b
查阅一切资料,让其在PC上编译OK。
2.下载madlld-1.1p1。
所有的资料都可以在github 上找到。
https://download.youkuaiyun.com/download/C_ROOKIES/13260143
while(1){
if(Stream.buffer==NULL || Stream.error==MAD_ERROR_BUFLEN)
{
if(Stream.next_frame!=NULL)
{
Remaining=Stream.bufend-Stream.next_frame;
memmove(InputBuffer,Stream.next_frame,Remaining);
ReadStart=InputBuffer+Remaining;
ReadSize=INPUT_BUFFER_SIZE-Remaining;
}
else
{
ReadSize=INPUT_BUFFER_SIZE,
ReadStart=InputBuffer,
Remaining=0;
}
// 开始读取一段大的缓冲区
read_size = fread(ReadStart,1,ReadSize,fp);
if(read_size != ReadSize)
break;
mad_strea

本文介绍了在PC上编译mad包和madlld库,阐述了MP3解码流程。在移植过程中,需根据不同平台选用config.h头文件,将动态内存分配改为静态变量。还解决了SD卡四字节对齐、缓冲区同步等问题,最终使MCU成功解码MP3,测试一帧解码约需几ms。
最低0.47元/天 解锁文章

1万+

被折叠的 条评论
为什么被折叠?



