新手入门
- 积分
- 8
- 金钱
- 8
- 注册时间
- 2016-11-17
- 在线时间
- 6 小时
|
10金钱
下面是代码
//播放指定路径下的文件
void mp3play_song(u8 *pname)
{
FIL *fmp3;
UINT bww;
u8 *buf,res,reval=0;
u16 i;
fmp3=(FIL*)mymalloc(SRAMIN,sizeof(FIL));//
buf=(u8*)mymalloc(SRAMIN,4096); //
while(buf==NULL||fmp3==NULL) printf("申请内存出错");
while(f_open (fmp3,(const TCHAR*)pname, FA_READ))//
{
printf("打开文件失败");
delay_ms(500);
}
VS_HD_Reset(); //硬复位
VS_Soft_Reset(); // 软复位
VS_Restart_Play(); //重启播放 //
VS_Set_All(); //设置音量等
VS_Reset_DecodeTime();// 重设解码时间
res=f_typetell(pname); //
if(res==0x4c)// 是不是flac文件
{
VS_Load_Patch((u16*)vs1053b_patch,VS1053B_PATCHLEN); //加载patch
}
VS_SPI_SpeedHigh(); // 设置高速
while(reval==0){
res=f_read(fmp3, buf,4096,&bww);
i=0;
while(res) //
{
printf("打开文件失败");
delay_ms(500);
}
do//
{
if(VS_Send_MusicData(buf+i)==0)//
{
i+=32;
}
}while(i<4096);
if(bww!=4096)
{
reval=0;
break;//
}
}
f_close(fmp3); //
myfree(SRAMIN,buf);
myfree(SRAMIN,fmp3);
}
|
|