新手入门
- 积分
- 9
- 金钱
- 9
- 注册时间
- 2019-3-25
- 在线时间
- 2 小时
|
5金钱
请问用UDP接收到的音频数据包是可以直接写入VS1053来播放的吗?如果是应该怎么写呢?不是的话应该怎么操作?举例来说,我用下面这个函数来处理数据包,数据包能够接收到,但VS1053没声音,问题在哪?
void do_udp(void)
{
switch(getSn_SR(SOCK_UDPS)) /*获取socket状态*/
{
case SOCK_CLOSED: /*socket关闭状态*/
socket(SOCK_UDPS,Sn_MR_UDP,local_port,0); /*初始化socket*/
break;
case SOCK_UDP: /*socket处于开启状态*/
if(getSn_IR(SOCK_UDPS) & Sn_IR_RECV)
{
setSn_IR(SOCK_UDPS, Sn_IR_RECV); /*清接收中断*/
}
if((len=getSn_RX_RSR(SOCK_UDPS))>0) /*接收到数据*/
{
recvfrom(SOCK_UDPS,buff, len, remote_ip,&remote_port); /*W5500接收到数据*/
i=0;
do{
if(VS_Send_MusicData(buff+i)==0) //向VS1053写入音频数据
{
i+=32;
}
}while(i<2048);
//printf("%s\r\n",buff);
sendto(SOCK_UDPS,buff,len-8, remote_ip, remote_port); /*W5500把接收到的数据发送给Remote*/
}
break;
}
}
|
|