(求助)MP3文件读取

使用的AVR单片机,从U盘中读取MP3文件,部分程序如下: //枚举根目寻下的MP3文件 while(1) { for ( c = 0; c < 1000; c ++ ) { // 最多搜索前255个文件 strcpy( mCmdParam.Open.mPathName,"\\*" ); //搜索根目录下文件名 i = strlen( (char *)mCmdParam.Open.mPathName ); //计算文件名长度,以处理文件名结束符 mCmdParam.Open.mPathName[ i ] =0xFF; //将结束符替换为255说明序号在变量中 CH375vFileSize=c; //指定搜索的序号,几乎没有上限 i = CH375FileEnumer( ); //文件名中含有通配符*,则为搜索文件而不打开 if ( i == ERR_MISS_FILE ) break; //再也搜索不到匹配的文件,已经没有匹配的文件名 if ( i != ERR_SUCCESS ) break; //搜索到与通配符相匹配的文件名,文件名及其完整路径在命令缓冲区中 if(CH375vFileSize!=0xFFFFFFFF) //枚举到MP3文件 { mp3_play( (char *)mCmdParam.Open.mPathName ); } _delay_ms(3000); } } } 通个此程序能把MP3文件找到,在mp3_play()子程序中,读取Mp3文件也正常, 问题: 1 现在想找到MP3文件名送入LCD显示,在那里能找到处于打开状态的文件名称? 2 MP3文件 详细信息如专集名、作者名、出品日期、比特率等信息 怎样获得?看过相关资料,但看得是一头雾水,不知从何下手,那位任兄有相关解析的函数请贴一下,不胜感激!也可发到信箱:个人信息保护,已隐藏,多谢!

1、找到文件后,文件就在mCmdParam.Open.mPathName中 2、这些得分析MP3文件的格式了,网上应该可以找到资料的


在 mCmdParam.Open.mPathName 找到MP3文件名了,执行 mCmdParam.Read.mSectorCount = 1; // 指定读取的扇区数 CH375FileRead(); 后,为什么mCmdParam.Open.mPathName 中内容被修改了呢? 每执行一次就修改一次,这样正常吗?


是正常的,在我们提供的头文件中可以看到,mCmdParam.Open.mPathName使用一个共用体结构


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