新人刚学习,求助下,研究了几天了,网上这类的资料比较少,麻烦大家了。
首先在int main(void)里面初始化
VS_Init(); // 初始化vs1053
Audiosel_Set(0);//音频通道设置为MP3
然后附上接收以后处理的代码
void udp_appcall(void) {
struct udp_demo_appstate *s = (struct udp_demo_appstate *)&uip_udp_conn->appstate;
if(uip_newdata()) {
printf("udp lport: len %d
", uip_len);
if(0 == (udp_sta&(1<<16))) {
udp_len = uip_len;
PlayLen = uip_len;
memset(udp_data_buf, 0, sizeof(udp_data_buf));
memcpy(udp_data_buf, uip_appdata, udp_len); //接收到的网络音频数据
udp_sta |= 1<<12;
//VS_Sine_Test();
VS_HD_Reset();
VS_Soft_Reset();
VS_Restart_Play();
VS_Set_All();
VS_Reset_DecodeTime(); //
VS_SPI_SpeedHigh(); //
i =0;
do
{
memcpy(sz1Buff,new_udp_data_buf + i,32); //复制32个字节
if(VS_Send_MusicData(sz1Buff) == 0) //向vs发送数据
{
i += 32;
printf("VS_Send_MusicData %d
", i);
}
}
while(i < PlayLen);
sprintf(new_udp_data_buf,"Len=%d ",udp_len);//(udp_data_buf[5]-1)*256 + (udp_data_buf[6]-1));
LCD_ShowString(30,310,200,16,16,new_udp_data_buf);
}
}
一直都是突突突的声音,正选波测试过,是可以的。网络音频数据也检测是正确的,用其他系统的可以正常播放。麻烦大家帮忙下,万分感谢。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
---------------------------------
感谢原子哥,对于mp3数据应该不需要头了吧?直接往vs1053里面输入数据应该就可以了吧? 我的mp3数据是通过网络发送过来的,然后初始化以后直接丢给vs1053,现在是很安静,一点声音都没有。 测试光碟里面的mp3播放器是没问题的,把mp3读取的那个数据换成网络接收的数据就没声音了,在linux下播放网络发送的数据又没问题,好纠结。
一周热门 更多>