战舰版的音乐播放器移植后,为什么只能播放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条回答
jermy_z
1楼-- · 2019-10-15 23:14
回复【7楼】dong:
---------------------------------
自己可以删的   有“编辑”这个按钮
正点原子
2楼-- · 2019-10-16 01:29
 精彩回答 2  元偷偷看……
dong
3楼-- · 2019-10-16 06:32
回复【9楼】正点原子:

估计是你的UNIGBK.BIN没有更新好。

=================================================
        谢谢原子的解答!

       原程序我是一点也没敢动,按战舰这道例题的说明,,在SD卡根目录存SYSTEM文件夹,这夹里存字库,开机后进行自动更新字库,并且在LCD上

有汉字显示时,工作很顺畅,12,16两种字体都你能显示,这UNIGBK.BIN 字库和GBK12.BIN和GBK16.FON在一起,哪道只有UNIGBK.BIN 字库

没有更新好?我再根据原子的解答,查查看。

    还请原子及各位朋友更进一步支个招吧,谢谢!
dong
4楼-- · 2019-10-16 08:36
回复【8楼】jermy_z:

回复【7楼】dong:
---------------------------------
自己可以删的   有“编辑”这个按钮

---------------------------------
 那就好了,以后再遇到这个问题,我就可以自己删去了。
dong
5楼-- · 2019-10-16 10:42

回复【9楼】正点原子:回

 估计是你的UNIGBK.BIN没有更新好。

----------------------------------------------------------------------------------------------------------------------------------------------
          大师级,就是大师,确是这个问题,我把mycc936删去,还用原来的cc936, 编译后,MP3能够播放了,长文件中文名也有了,故此,我又

反复更新字库,可是只要再用上mycc936,就故障依旧,看样子,这字库是已经移植好了,好像其他环节还是有点小BUG ,水平太低,怎么也找不出

来,还请原子及其他大师指点一下,问题到底出在哪了???

      程序没有任何改动,是照搬原程序的,只是把W25Q64的接线改动一下,把CS的 B12 改为 B10; 把MOSI. MISO. SCK的PB13, 14,  15 改为 

PA5, 6, 7, 并且在更新字库后,12,16汉字体都好用,在LCD上汉字显示正常,怎么在MP3里,汉字就不好用了呢???

正点原子
6楼-- · 2019-10-16 16:20
长文件名支持,需要用到UNICODE2GBK的转换,也就是cc936这个文件,mycc936,是在你的falsh特定地址存在UNIGBK.BIN的前提下,才能用的.否则,失败.

一周热门 更多>