Linux中音樂播放器移植步驟
大?。?/span>0.5 MB 人氣: 2017-10-12 需要積分:1
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
編譯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
編譯libid3tag
。/configure CC=arm-linux-gcc –host=arm-linux –prefix=/home/madplay
CPPFLAGS=-I/home/madplay/include LDFLAGS=-L/home/madplay/lib
2
make
make install
編譯libmad
。/configure CC=arm-linux-gcc –host=arm-linux –prefix=/home/madplay
CPPFLAGS=-I/home/madplay/include LDFLAGS=-L/home/madplay/lib
make
make install
編譯madplay
。/configure CC=arm-linux-gcc –host=arm-linux –prefix=/home/madplay
CPPFLAGS=-I/home/madplay/include LDFLAGS=-L/home/madplay/lib
make
到這就結束了,可以不用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
s3c2410-uda1341-superlp: audio_set_dsp_speed:44100 prescaler:66
如果出現這個信息,應該就沒有問題了,可以聽歌了。
madplay還有一些快捷鍵,比如:增大/減小音量(+/-),暫停(b),停止(ESC),其他的操作可以查看madplay的源碼。
5. 靜態編譯
以上是用動態編譯的方法,程序運行時需依賴動態庫文件。也可以采用靜態編譯的方法,將靜態庫編譯到程序中,運行時不需要動態庫文件
在配置libid3tag,libmad,madplay時,加上參數“–disable-shared –enable-static”即可靜態編譯madplay
編譯完成后只需將madplay復制到根文件系統/usr/bin目錄下,不需要復制動態庫。
?
非常好我支持^.^
(1) 100%
不好我反對
(0) 0%