madplay版本:madplay-0.15.2
准备源码包:
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
# make
# make install
3.编译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
编译出错!
分析:交叉编译器不支持”–fforce-mem”选项
解决:修改当前目录下Makefile文件,把”–fforce-mem”选项删除
4.编译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
将后两个文件.查看根文件系统的/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
Comment: XXXXXXXXX
s3c2410-uda1341-superlp: audio_set_dsp_speed:44100 prescaler:66
如果出现这个信息,应该就没有问题了,可以听歌了。
madplay还有一些快捷键,比如:增大/减小音量(+/-),暂停(b),停止(ESC/s),回车(从头播放)其他的操作可以查看madplay的源码。