近期偶然间看到一个开源项目minimp3
Minimalistic MP3 decoder single header library
项目地址:
/lieff/minimp3
单文件头的最小mp3解码器。
一直很想抽时间好好看上一看。
最好的学习方式就是写个实用性的工程项目。
例如实现mp3转wav格式。
嗯,这篇博文就是这么来的。
阅读了下minimp3的源码,有一两处小bug,
这个解码算法可以进一步提速优化的地方还有不少。
后面有时间,再好好庖丁解牛。
基于这个库,实现mp3转wav的代码行数不到300行。
小巧而简洁,算是简单的抛砖引玉了。
个人习惯,很少写注释,
所以尽可能把代码写得清晰易懂,当然也有犯懒的时候。
完整代码:
复制代码
define _CRT_SECURE_NO_WARNINGS
define _CRT_SECURE_NO_DEPRECATE 1
define _CRT_NONSTDC_NO_DEPRECATE 1
include
include
include
include
include
// ref:/lieff/minimp3/blob/master/