|
void PlayMp3()
{
unsigned char fp,i;
VS1003B_Init();
fp=fopen("/MOON3.MP3");
RedLed=0;
/*
while(1)
{
if(VS1003B_FREE() && mp3_index<512)
{
for(i=0;i<32;i++) VS1003B_WriteDAT(SD_Buffer[mp3_index++]);
}
if(mp3_index>=512)
{
Debug_Msg("放入数据",VS1003B_FREE());
if(fread(SD_Buffer,512,fp)==0)
break; //读取数据完毕
mp3_index=0;
}
}
*/
mp3_load=1;
mp3_index=512;
while(1) //还有数据没有完成
{
if(mp3_load==1)
{
mp3_load=0;
if(fread(SD_Buffer,512,fp)==0)
break; //读取数据完毕
}
if(mp3_index>=512){
for(mp3_index=0;mp3_index<sizeof(mp3_data);mp3_index++)
mp3_data[mp3_index]=SD_Buffer[512-sizeof(mp3_data)+mp3_index];
mp3_index=0;
}
while( VS1003B_FREE() && mp3_index<512)
{
if(mp3_index<512-sizeof(mp3_data))
{
for(i=0;i<32;i++)
VS1003B_WriteDAT(SD_Buffer[mp3_index++]);
}
else
{
for(i=0;i<32;i++)
VS1003B_WriteDAT(mp3_data[(mp3_index++)-512+sizeof(mp3_data)]);
}
if(mp3_index==512-sizeof(mp3_data)) mp3_load=1; //要求载入数据
}//
}
fclose(fp);
} |
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|