mp3格式轉wav格式 附完整C 演算法實現程式碼

NO IMAGE

近期偶然間看到一個開源專案minimp3

Minimalistic MP3 decoder single header library

專案地址:

https://github.com/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:https://github.com/lieff/minimp3/blob/master/minimp3.h

define MINIMP3_IMPLEMENTATION

include “minimp3.h”

include