摘至:http://chenyq2008.spaces.live.com/default.aspx
TCP/MP是一個開源的播放器,現在好像商業化了,改名叫core player.據說目前支援最多媒體格式的播放器.除了rm,rmvb等少數幾種格式不支援外.可以在這個網址獲得開原始碼http://picard.exceed.hu/tcpmp/
.
我昨天下載了一個0.72RC1的原始碼.期望能自己編譯定製一個播放器.好東西搞起來果然很費勁!花費一個晚上終於在今天中午編譯成功,在我的
arm9+wince上跑起來了.我是用evc4.2編譯的,網路上搜尋,很多人都是碰到許多編譯問題和顯示問題.但都沒有提供一個完整的解決辦法.
1.從http://picard.exceed.hu/tcpmp/下載原始碼.我下載的始0.72RC1.
2.編譯環境.我安裝的是evc4.2+standard sdk+Win32(WCE ARMV4) Release.更低版本的evc應該也是可以.如果是編譯x86的.要下載一個nasm彙編工具.這點在readme.txt裡面提到.nasm的http://nasm.sourceforge.net/.否則的話會報錯.網上不少人碰到這個錯誤沒法繼續了,不先看readme.txt實在不應該.
3.從下面2個網址下載AMR的解碼器的原始碼.並且分別拷貝到AMR目錄下的26104和26204中.同樣,這個資訊在readme.txt中提到 http://www.3gpp.org/ftp/Specs/archive/26_series/26.104/26104-610.zip
http://www.3gpp.org/ftp/Specs/archive/26_series/26.204/26204-600.zip
4.將player_ce3項目set as active project.這個項目將編譯一個player_ce3.exe就是最終的程式.但編譯這個程式依賴許多的庫.這些庫就是其他的project編譯後提供的.
5.如果這時候點rebuild
all會出現錯誤.我在evc左邊工作區視窗的FileView標籤下一個個的project編譯過去.player_ce2,
sample_ce3這2個project先忽略過去.(因為我們選擇了player_ce3.如果搞定了一個其它的也沒有問題.)大部分可庫檔案都可以
正確編譯.除了asap和flac這兩個項目會報錯.剩下的事情主要是解決這2個項目.
6.編譯asap項目.因為反覆改動,具體的過程我記憶不清了.我把成功設定的結果寫下來.
要編譯asap這個項目,需要修改的內容:右鍵點asap files
-->settings-->c/c++-->Category-->Preprocessor.在Additional
include
directories:中增加項目路徑,注意這個是相對路徑".,asap,atari800/src".不然一堆標頭檔會找不到.在
Preprocessor
definitions:中增加一個宏定義",ASAP".上面的描述都是加入引號內的內容不包括引號.當然這2步動作也可以在原始碼中修改.如此設定完
畢後,asap files project就可以正確編譯了.
7.編譯flac項目.同6,開啟flac的settings到相同介面.在
Additional include
directories:中增加路徑"flac/include,flac/src/libFLAC/include",不然一堆標頭檔找不到.
然後,在Preprocessor
definitions:"FLAC__NO_DLL".增加這個定義避免使用_declspec(dllexport)定義函數造成的一大堆c2491
錯誤.如此設定後,flac project應該可以正確編譯.
8.同理修改player_ce3項目,在Additional include
directories中增加路徑
"../asap/asap,../asap,../asap/atari800/src,flac/include,flac/src/libFLAC
/include".然後在Preprocessor difinitions:增加ASAP.最後,成功編譯player_ce3.exe
9.拷貝包含player_ce3.exe在內所有的組建檔案到目標板上.可以運行!但是菜單沒有顯示正確.
10.將lang目錄下面的多國語言支援檔案拷貝到目標板同一個目錄下面.根據需要,我只拷貝了lang_std.txt lang_en.txt,lang_chs.txt,lang_ca.def也可以了.
完成上面內容.TCP/MP就可以正常在我機器上運行了.(我的目標板報了個錯誤,沒有聲音.應該是我音頻驅動還沒有調試的原因.我的板子是自己定做的,驅動正在陸續增加.)趕緊下載了個wmv來測試.速度不錯!