回复 2# xcsjava
基于mc9sdg128的播放mp3代码实例。如果有文件系统就是这么简单! void PlayMusic(char* filename) {
uint16 j,jp;
//循环变量
//loop variable
unsigned int count;
Mp3Reset();
res =
f_open(&file, filename,
FA_OPEN_EXISTING|FA_READ);
//打开文件的读写
VS1003B_XDCS_L(); //数据片选
for(;;)
//
{
PORTB_LED0_ON(); //指示灯 亮
f_read(&file,buffer1,512*4,&br); //读取mp3音乐数据
PORTB_LED0_OFF();// 指示灯灭
count=0;
while(count<br)
{
if((VS1003B_PIN & (1<<VS1003B_DREQ))!=0 )
//根据需要送数据
{
for(j=0;j<32;j++)
//每次送32个数据
//32 Bytes each time
{
VS1003B_WriteByte(buffer1[count]);
count++;
}
} //end
if((VS1003B_PIN & (1<<VS1003B_DREQ))!=0 )
//根据需要送数据
}
// end while count<512
if(br<512*4) //到达文件末尾 或者出错
break;
} //end for(;;)
VS1003B_XDCS_H();
f_close(&file);
} //请注意播放wav.mid音乐和播放mp3略有不同。 |