音频解码器madplay移植
编者:从这一小节开始,友善官方带的手册就没有介绍了,根据一些参考书籍进行移植。这里移植的是音频解码器madplay.
需要的源码包:(我已经上传到我的资源里面了,可以直接下载)
libid3tag-0.15.1b.tar.gz
libmad-0.15.1b.tar.gz
madplay-0.15.2b.tar.gz
zlib-1.2.3.tar.bz2
1、建立madplay源代码目录madplay-source以存放madplay源码
创建源码目录
#mkdir /usr/local/madplay-source
2、然后将上面要求的四个文件拷贝到此文件夹下,然后解压到此文件夹下
tar -zxvf libid3tag-0.15.1b.tar.gz
tar -zxvf libmad-0.15.1b.tar.gz
tar -zxvf madplay-0.15.2b.tar.gz
tar -jxvf zlib-1.2.3.tar.bz2
3、编译zlib库,为libid3tag提供函数支持
1) #cd /usr/local/madplay-source/zlib-1.2.3
#./configure -shared --prefix=/usr/local/mymadplay/zlib-1.2.3
2) 修改Makefile
修改Makefile第19行:
CC=arm-linux-gcc
修改Makefile第28行:
LDSHARED=arm-linux-gcc -shared -W1,-soname,libz.so.1
修改Makefile第29行:
CPP=arm-linux-gcc -E
修改Makefile第36行:
AR=arm-linux-ar rc
修改Makefile第37行:
RANLIB=arm-linux-ranlib
3)编译并安装zlib库
#make
#make install
4、编译libid3tag库
1) #cd /usr/local/madplay-source/libid3tag
#./configure -shared --prefix=/usr/local/madplay-source/libid3tag CC=arm-linux-gcc --host arm-linux CPPFLAGS=-I/usr/local/mymadplay/zlib-1.2.3/include/ LDFLAGS=
-L/usr/local/mymadplay/zlib-1.2.3/lib/
#make
#make install
5、编译音频解码库libmad
1) #cd /usr/local/madplay-source/libmad
#./configure -shared --prefix=/usr/local/madplay-source/libmad CC=arm-linux-gcc --host arm-linux CPPFLAGS=-I/usr/local/mymadplay/libid3tag/include/ LDFLAGS=
-L/usr/local/mymadplay/libid3tag/lib/
#make
#make install
note:如果此步骤出现err:unrecognized command line option -fforce-mem,找到Makefile,产找到-fforce-mem然后将其删除掉。
6、编译madplay应用程序
1) #cd /usr/local/madplay-source/madplay-0.15.2
#./configure -shared --prefix=/usr/local/madplay-source/libmad CC=arm-linux-gcc --host arm-linux CPPFLAGS=-I/usr/local/mymadplay/libid3tag/include/ -I/usr/local/madplay-source/libmad/include/ LDFLAGS= -L/usr/local/mymadplay/libmad/lib/ -L/usr/local/mymadplay/zlib/zlib-1.2.3/lib/ -L/usr/local/madplay-source/libid3tag/lib/
#make
#make install
7,移植madplay所需库文件到开发板
madplay运行时候只需要四个库文件,分别是libmad.so.0,libid3tag.so.0,libm.so.6,libc.so.6,其中后面的两个在开发板的/lib中已经存在,只需把前两个加入到/lib即可。但是
后面两个ls一下就可知道是一个链接,源文件分别是libmad.so.0.2.1以及libid3tag.so.0.3.0只要把这两个放入/lib下,然后建立刚才的链接。
8、移植madplay应用程序到开发板
把/usr/local/mymadplay/madplay-0.15.2/bin下的madplay复制到开发板的usr/bin/下,然后再找首歌曲,可以试试,基本就能正常播放了。
下面是我找了首可惜不是你播放的效果。名称我改为了123.mp3