闲来没事 发个源码吧。软解MP3的主函数参考了坛里的这个帖子:
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=5089622&bbs_page_no=1&search_mode=1&search_text=%C8%ED%BD%E2MP3&bbs_id=3020
我的音频部分是WM8978
效果不错的,有心人可以考虑拿去做个小MP3播放器了。我嘛,穷学生一个,没钱打样。嘿嘿。
主要功能:
1.播放WAV文件,播放MP3(软件解码),直接用WM8978接喇叭放音的
2.可以调节音量(我的开发板上电位器是接ADC的,所以调节音量用了ADC)
3.后续:有精力的话,顺便做个网络收音机了。(不过我觉得既然RT-THREAD已经开源了这个网络收音机,在ucos下折腾也没大意思了,我后面也许要转战RT了 嘿嘿)
========================================================
资源占用(MDK编译):
Program Size: Code=63276 RO-data=14100 RW-data=240 ZI-data=47512
实际的RAM占用量可以自己调整,不过最后的输出缓冲区必须是开成4608个字节!
附件:
STM32 + helix + wm8978 + SDIO + FATFS + UCos 全部工程源码!
点击此处下载
ourdev_711591HHLVHR.rar(文件大小:1.85M) (原文件名:MP3Player-with-ucos-120206.rar)
好久没回来看看了 嘿嘿
我是用3.5的版本的SDIO库函数的,注意SDIO是有中断的,中断服务程序要有哦。另外,在我这个项目里,没有用DMA模式,是用中断模式的。实际中发现,貌似DMA会有时卡死...原因尚不清楚
好久没回来了 嘿嘿
你说的TDA1543貌似是DAC对吧。
WM8978不仅仅是DAC哦,它是一个编解码器,而且自带了D类功放的。音质我没有比较,不过WM8978的音质还是不错的。(不过因为STM32时钟不是很准的问题,输出的音频可能会有点点噪音,不仔细听是感觉不到的)
我这个软解项目,能解采样率从11050Hz 到 44100Hz,码率最大可达320kbps(不过播放该码率时需要修改一下GUI显示部分,因为STM32的软解速度不是特别快,GUI显示会占用一些时间导致轻微的卡顿),可自适应VBR和CBR(其实做了VBR,就能放CBR了)
一周热门 更多>