OpenEdv-开源电子网

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

Helix软解MP3出了点问题,大部分320Kbps歌曲可以流畅播放,某些歌曲播放中造成当机,求解决方案

[复制链接]

6

主题

93

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
300
金钱
300
注册时间
2014-6-12
在线时间
54 小时
发表于 2015-4-27 08:19:50 | 显示全部楼层 |阅读模式
5金钱
是这样的,我把探索者的综合例程中的MP3解码部分给移植到自己的工程中,因为目前主要是验证MP3软解,也就没有用RTOS,纯裸奔的,然后发现部分歌曲会全程帧解码错误,返回错误代码-2,-8,-9;还有一部分歌曲会在开始解码错误以后,返回错误代码-3,然后F4进hardfault,跟踪此类错误进入代码中,发现memcpy(mp3DecInfo->mainBuf + mp3DecInfo->mainDataBegin, *inbuf, mp3DecInfo->nSlots);这句代码导致问题产生,也许是跟堆栈设置有关?
Heap_Size       EQU     0x00000400
Stack_Size       EQU     0x00000800
我把综合例程烧入板子,发现出问题的2首音乐是可以播放的,按理说裸奔的代码和使用UCOS时候应该是一样的,不应该会出错的,昨天晚上查找一晚上没找到问题,现发贴上来问问,求各位不吝赐教

迪克牛仔 - 有多少爱可以重来.mp3

11.3 MB, 下载次数: 342

简易MP3播放器.rar

12.6 MB, 下载次数: 1668

最佳答案

查看完整内容[请看2#楼]

MP3文件前面有ID3标签的话需要偏移过标签的数据到真正的MP3帧数据再解码,另外需要注意如果SD卡采用DMA读取的话要考虑DMA地址4字节对齐的问题,如果前面都没问题的话那就是MP3读文件解码播放那里的程序(mp3_play())的问题了,这三部分具体可以参考原子哥的综合例程里的代码,我刚弄过这个,当时也是遇到各种问题,还是要感谢原子哥的开源,哈哈
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

7

主题

75

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
401
金钱
401
注册时间
2012-12-30
在线时间
41 小时
发表于 2015-4-27 08:19:51 | 显示全部楼层
MP3文件前面有ID3标签的话需要偏移过标签的数据到真正的MP3帧数据再解码,另外需要注意如果SD卡采用DMA读取的话要考虑DMA地址4字节对齐的问题,如果前面都没问题的话那就是MP3读文件解码播放那里的程序(mp3_play())的问题了,这三部分具体可以参考原子哥的综合例程里的代码,我刚弄过这个,当时也是遇到各种问题,还是要感谢原子哥的开源,哈哈
回复

使用道具 举报

6

主题

93

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
300
金钱
300
注册时间
2014-6-12
在线时间
54 小时
 楼主| 发表于 2015-4-27 09:58:55 | 显示全部楼层
我刚刚尝试把不能播放的MP3文件换成256Kbps的,然后能播放了。各路大神求解救啊,为啥不能播放部分320KbpsMP3歌曲呢?
回复

使用道具 举报

6

主题

93

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
300
金钱
300
注册时间
2014-6-12
在线时间
54 小时
 楼主| 发表于 2015-4-27 19:35:24 | 显示全部楼层
顶起,不要沉啊
回复

使用道具 举报

6

主题

93

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
300
金钱
300
注册时间
2014-6-12
在线时间
54 小时
 楼主| 发表于 2015-4-28 09:52:45 | 显示全部楼层
回复【4楼】xijiele:
---------------------------------
感谢你的回复,我后来定位了下问题,进入HardFault肯定是堆栈溢出了,查找mymalloc和myfree以及野指针。后来发现是在某些判断下少了一个myfree,然后把异常情况的内存都给释放掉,现在情况好点了。正在尝试某些320Kbps比特率MP3歌曲。
回复

使用道具 举报

3

主题

9

帖子

0

精华

新手上路

积分
23
金钱
23
注册时间
2017-12-20
在线时间
5 小时
发表于 2018-1-3 11:06:04 | 显示全部楼层
二楼的哥们,能提供一下你的源码吗?
回复

使用道具 举报

0

主题

4

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2017-9-4
在线时间
5 小时
发表于 2019-9-12 16:57:03 | 显示全部楼层
跟着学习!
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2019-5-25
在线时间
7 小时
发表于 2019-11-2 11:06:07 | 显示全部楼层
感谢,真的好
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2019-12-23
在线时间
2 小时
发表于 2019-12-23 11:44:50 | 显示全部楼层
能提供下源码吗?我也在弄,解码出来都是0
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-12 09:30

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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