ch376读mp3文件,把mp3数据读入一个数组的问题

s = CH376FileOpen( "/M.MP3" ); /* 打开文件,该文件在根目录下 */ if ( s == USB_INT_SUCCESS ) { while(1) { s = CH376ByteRead( MusicData, sizeof(MusicData), &LEN );//有问题,len<512,是否把数据读入数组了? VsSineTest();//响 SoftResetAndInit(); read_mp3(MusicData);//有问题,数组里是否有数据 VsSineTest();//不响 SoftResetAndInit(); if(LEN } }mp3文件已经成功打开,但字节读数据时好像有问题,mp3文件能不能把数据读入数组呢,数组应该怎么定义呢,我用的是unsigned char xdata MusicData[512]; 希望能向各位请教一下。

s = CH376ByteRead( MusicData, sizeof(MusicData), &LEN ); 你自己要判断一下是否读出来了。s返回的是否为0X14?


返回的是0x14,这个MusicData数组有什么要求吗,我定义的是xdata可以吗


这个完全是单片机在读数据,CH376本身不会对RAM有要求。 既然返回的是0X14表示成功,那你怎么确定读出的数据是有问题的呢? 你是否知道这个文件的数据? 如果你不知道,你可以用建立一个TXT文件,写一些数据进去,然后用CH376读,看看是否有异常


因为是读出数据存入数组然后送给VS1003,播放声音。 VS1003发声的程序可以用,因为烧入rom中的一段音乐的数组数据可以发出音乐。但是用376读出MP3文件的数据存入数组,发声程序就无法播放出声音。 我不知道读出的数据是否存进数组中了没有,还是读出MP3文件的数据无法直接应用于VS1003的发声程序。


这个需要你自己详细的测试,来确定,现象反馈明确了我们才能解决问题。不能解决一个不存在的问题。


只有登录才能回复,可以选择微信账号登录