madplay移植

MAD简介

(翻译官网的-.-)MAD 是高质量的MPEG audio decoder,它支持 MPEG-1 和 低频率的MPEG-2拓展和MPEG 2.5,MAD不支持MPEG-2 多通道音频,也不支持AAC,支持MP3格式

MAD 有如下特点:

24-bit PCM 输出

100% 非浮点(整型) 计算

完全基于ISO/IEC标准

基于GNU General Public License (GPL)

*该软件以库文件(libmad) 和命令行前端软件(madplay)来发布的, 包括ID3 tag 操作的库 (libid3tag)

*上层的API例子在minimad.c源文件中

*madplay为oss建构


使用了MAD的软件有很多,如MPlayer,Rhythmbox (ubuntu的默认音乐播放器),Apollo ,avifile,mplay等

官网http://www.underbit.com/products/mad

MAD的移植

1.下载源文件(官网FTP或SourceForge都有)

madplay-0.15.2b.tar.gz

libmad-0.15.1b.tar.gz

libid3tag-0.15.1b.tar.gz

libz-1.1.4.tar.gz


2.编译libz

./configure --prefix=/home/layverns/MP3/madplay --host=arm-linux

编译与安装

make 

make install


3.编译libid3tag

./configure --host=arm-linux --prefix=/home/layverns/MP3/madplay  CPPFLAGS=-I/home/layverns/MP3/madplay/include  LDFLAGS=-L/home/layverns/MP3/madplay/lib

编译与安装

make

make install



4.编译libmad

./configure --host=arm-linux --prefix=/home/layverns/MP3/madplay  CPPFLAGS=-I/home/layverns/MP3/madplay/include  LDFLAGS=-L/home/layverns/MP3/madplay/lib

编译与安装

make

make install

注:由于使用的是高版本的arm-linux-gcc 4.4.6编译器,make时出现了”ccl:error:unrecognized command line option “-fforce-mem””错误,这是因为这个高版本的gcc没有”-fforce-mem”参数,

解决的办法是在libmad文件中的Makefile里面查找”-fforce-mem”,将其删除即可。


5.编译madplay

./configure --host=arm-linux --prefix=/home/layverns/MP3/madplay  CPPFLAGS=-I/home/layverns/MP3/madplay/include  LDFLAGS=-L/home/layverns/MP3/madplay/lib

编译与安装

make

make install


6.复制到开发板,运行

cp /home/layverns/MP3/madplay/lib/* /nfsroot/lib

(库文件)

cp /home/layverns/MP3/madplay/bin/madplay /nfsroot/home

(可执行文件,madplay)

在开发板直接运行

./madplay XXX.mp3

移植完毕^.^


问题:

1.audio: /dev/dsp: No such file or directory 
解决:
加载声卡驱动xxxxx.ko,mdev会自动创建/dev/dsp结点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值