OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8919|回复: 2

请教:FAT32 怎么得到没有后缀名的MP3歌名

[复制链接]

4

主题

9

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2011-7-24
在线时间
0 小时
发表于 2012-5-15 13:24:45 | 显示全部楼层 |阅读模式
项目需要用到FAT文件系统,现在我用的是原子哥板子配套的库函数MP3程序来调,打算输出MP3长文件名,不输出后缀名,比如播放 黄昏.mp3 时就显示  黄昏  ,不要后缀。
改了一段时间没弄出来。现在改动u8 Get_File_Info(u32 dir_clust,FileInfoStruct *FileInfo,u32 type,u16 *count)函数里的:
if(item->deAttributes == 0x0f)//找到一个长文件名
     {
      we = (winentry *)(&fat_buffer[offset]);
      j = 26 *( (we->weCnt-1) & WIN_CNT);//长文件名的长度
                        if(j<MAX_LONG_NAME_SIZE-25)
      {
       p = &LongNameBuffer[j];//偏移到目标地址
       for (j=0;j<10;j++) *p++ = we->wePart1[j];  
       for (j=0;j<12;j++) *p++ = we->wePart2[j];
       for (j=0;j<4;j++) *p++ = we->wePart3[j];
       if (we->weCnt & 0x40) (*(unsigned int *)p) = 0;     
       if ((we->weCnt & WIN_CNT) == 1) LongNameFlag = 1;//最后一个长文件项找到了
      }    
     }
没有用。
请各位高手指点下,在原子哥配套的库函数版本的MP3程序里,应该改动哪里可以输出没有后缀名的MP3歌名呢?谢谢!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-5-15 13:42:55 | 显示全部楼层
不用去改这些地方了。
把你得到的字符串稍作处理即可。
方法:
1,从末尾开始向前找,把第四个字符(‘.’)改为0即可。
2,从末尾开始,向前,查找字符'.'找到这个字符后修改为0。
第二种方法比较保险。比如有的音频文件有4个后缀,.FLAC。
如果仅限MP3,第一种方法来的简单。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

4

主题

9

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2011-7-24
在线时间
0 小时
 楼主| 发表于 2012-5-15 14:15:57 | 显示全部楼层
谢谢原子哥,成功改好了!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-25 23:20

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表