现在面临的问题想要不用SD卡,实现向VS1053模块中传输MP3音频文件,让vs1053播放音乐。用的是战舰V3。
自己写的代码如下:
void play_song(void)
{
u8 fmp3[4096];
u8 data[32];
u16 br;
u8 res,rval;
u16 i=0;
u16 key;
VS_HD_Reset();
VS_Soft_Reset();
VS_Restart_Play(); //重启播放
VS_Set_All(); //设置音量等信息
VS_Reset_DecodeTime();
VS_SPI_SpeedHigh(); //高速
for(key=0;key<73;key++)//文件存储在FLASH中,读73次每次读4096字节数据
{
W25QXX_Read(fmp3,0x000000+key*4096,4096);
i=0;
// for(br=0;br<256;br++)
// {
// printf("%x",fmp3[br]);
// }
do
{
strncpy((char *)data,(const char *)fmp3+i*32,32);//发送32个字节数据
for(br=0;br<32;br++)
{
printf("%x",fmp3[br]);
}
if(VS_Send_MusicData(fmp3)==0)//给VS10XX发送音频数据
{
i++;
}
}
while(i<128);
}
}
没有达到播放音乐的效果,请大家一起帮忙看一下!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
你好,原子哥。我是直接下载的MP3文件,可以正常播放的,然后直接通过串口传输给FLASH,传输大小跟MP3文件大小一致;然后我从FLASH里读了256字节,再用VC打开MP3文件,两者是一样的。 数组这个我定义小一点,循环次数增加应该也可以的把?
原子哥说的有道理
一周热门 更多>