天天看點

Linux中madplay 音樂播放器移植步驟

                                                           madplay 音樂播放器移植步驟

madplay版本:

madplay-0.15.2

交叉編譯器版本:

arm-linux-gcc 3.4.1

作業系統平台:

linux -- red hat 9.0

開發闆平台:

arm -- fl2440

準備源碼包:

下面給出了兩個網站,分别是madplay和zlib庫的源碼網址

madplay:http://sourceforge.net/projects/mad/files/

zlib庫 :http://www.zlib.net/

madplay-0.15.2b.tar.gz libmad-0.15.1b.tar.gz,libid3tag-0.15.1b.tar.gz zlib-1.1.4.tar.gz

建立兩個檔案夾,一個存放源碼,一個存放安裝檔案

在home下,mkdir兩個檔案夾:madplay-src madplay

依次解壓四個源碼包到madplay-src目錄下: tar xzvf xxxxxxxxx

1. 編譯zlib-1.1.4

首先配置configure 檔案

#./configure --prefix=/home/madplay

修改makefile

cc=arm-linux-gcc

ar=arm-linux-ar rc

ranlib=arm-linux-ranlib

#make

#make install

2. 編譯libid3tag

#./configure cc=arm-linux-gcc --host=arm-linux --prefix=/home/madplay 

cppflags=-i/home/madplay/include ldflags=-l/home/madplay/lib

2

3. 編譯libmad

4. 編譯madplay

到這就結束了,可以不用make install

在madplay-0.15.2b目錄下生成madplay的可執行檔案,檢視一下需要的動态庫

#arm-linux-readelf -d madplay

輸出運作時所需的動态庫:libmad.so.0, libid3tag.so.0, libm.so.6,libc.so.6

将後兩個檔案從lib拷貝到根檔案系統的/usr/lib目錄下(先檢視,如果已經有了則不需要),

前兩個檔案是在/madplay/lib/下生成的,把這兩個檔案也拷貝到/usr/lib下。

将madplay複制到根檔案系統/usr/bin目錄下,将一個mp3檔案也放在某一目錄下,在開發闆上執行madplay程式

#madplay xxx.mp3

mpeg audio decoder 0.15.2 (beta) - copyright (c) 2000-2004 robert leslie et al.

s3c2410-uda1341-superlp: audio_set_dsp_speed:44100 prescaler:66

title: xx

artist: xxx

album: xxxx

track: xx

3

comment: xxxxxxxxx

如果出現這個資訊,應該就沒有問題了,可以聽歌了。

madplay還有一些快捷鍵,比如:增大/減小音量(+/-),暫停(b),停止(esc),其他的操作可以檢視madplay的源碼。

5. 靜态編譯

以上是用動态編譯的方法,程式運作時需依賴動态庫檔案。也可以采用靜态編譯的方法,将靜态庫編譯到程式中,運作時不需要動态庫檔案

在配置libid3tag,libmad,madplay時,加上參數“--disable-shared --enable-static”即可靜态編譯madplay

編譯完成後隻需将madplay複制到根檔案系統/usr/bin目錄下,不需要複制動态庫。

繼續閱讀