战舰版的音乐播放器移植后,为什么只能播放wma格式的音乐?

2019-10-15 06:18发布

          战舰版的程序,很实用,原子的开发指南写的很深入,一般移植都会成功的,应向原子致谢!
 
          最近遇到个怪事,百思不得其解,招数使尽,故障照旧,无奈,再次来此求教了。我把战舰板的音乐播放器移植到 STM32F103VE 的 100脚 开发板上,把 RST,DREQ,XDCS,XCS

4个脚作了改动,SCK,MOSI ,MISO 的3个脚,仍接在 PA5,PA6,PA7的 SPI1 口上,文件系统也是移植战舰版上的,FATFS 0.09 ,字库在W25Q64中的,没有改动原程序中的任何地方,

仅仅将有关I/O口,根据100脚的STM32 进行必要的改动 ,可是播放器只能播放wma格式的音乐文件,MP3播放不了,用串口助手看结果,长文件名,全变成8.3格式的短文件名,

      见下图: 在 res = f_open(fmp3,(const TCHAR*)pname,FA_READ); 语句下,用 printf("用f_open打开的路径是: %s ",pname);  语句 看 路径,只要是MP3 ,就打不开,返回

结果就不是0,所以 if (res==0)  //以上打开文件成功了              {                printf("进入到res==FR_OK{}里");                                (播放程序段)
                              。。。。。
                             }

     

 

   下图是串口显示数据截图, 1,2,4是wma格式文件,进入播放实施程序里,3 是 MP3 本来是段民乐叫:嘻嘻哈哈过新年,是长文件名,而它变成8.3的短文件名,并且到 f-open()时

打不开,跳过播放程序段,无法播放了,这是什么原因呢? 好像问题还是出现在文件系统上,能播放wma文件,正弦波自检好用,
说明硬件没有问题吧?到底是什么问题,请施教,感激!







友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
25条回答
dong
2019-10-17 16:15
回复【21楼】正点原子:

回复【19楼】dong:
---------------------------------
你这个问题归根到底,就是UNIGBK转换出了问题,不用说播放MP3,只要你能正常输出长文件名(串口输出),问题就可以解决了.

-------------------------------------------------------------------------------------------------------------------------------------------------

      原子就是好,不像其他卖家,开发板买到手,你就别想再找到他,就是好容易用电话找到他,他不但不给解答,反而还会挖苦你一番,说什么:

“这么简单的问题,你自己还不会解决啊。”,屁话,我要是都会解决了,还会买你这破开发板吗?买了就是为了学习,在学习过程,有些问题实在抠不出

来了,必然会问你,你在卖板前的承诺,都不允诺了,可惜你还是个这个搞技术的,不和社会上某骗子一样吗?我也发现,其实有的卖板的,所谓的的开

发者,他自己都没搞明白,东筹西拼的,拿出来板子卖,你问他,解答不出来,装着挖苦用户去了。现在市面上几种STM32开发板,我几乎都买到手了,

用了后,才有以上的亲身感受,说给大家听听。总结经验教训,原子的板是最好的,人家的程序都是自创的,特别是寄存器程序,那没有一定的技术水平

和坚韧不拔的毅力,是搞不出来那个东西的!这才叫中国特 {MOD},恐怕全球搞STM32的,只有原子一人,能搞出这么详细好用的寄存器版的STM32开发技

术。原子这个论坛办得也很红火,聚集的人气也不少,原子在百忙的工作中,每天抽空到坛子里解答问题,实属不易,不像有些论坛,只是个招牌,立起

来,就没见到他来过。希望这个坛子越办越好,板子越卖越多,不是说某种板子买到台湾,新加坡,等东南亚国家吗,我看战舰版,可以卖到日本,美国

等发达国家的。原子的腰包会鼓的很大很大,这是光荣的,是靠技术致富的,是正经道!不像某些房屋开发商什么的,连自己的名字都写不好,可靠关

系,歪门邪道,发了大财了,原子这种致富方法,是我们这些搞技术的人,永远的学习楷模!

====================================================================================
   
   个人的感受体会由于时间关系,不再说下去了,还是说说这道问题:确实是UNIGBK转换出了问题,可奇怪的是用战舰板一样的程序,只改了几条接

口线,更奇怪的是:移植后GBK12,16字库都可以正常使用,可为什么,就偏偏是UNIGBK库没移植好,出了问题?



一周热门 更多>