Madplay移植到mini2440步骤

移植madplay

1.1 libmad简介

MAD (libmad)是一个开源的高精度 MPEG 音频解码库,支持 MPEG-1(Layer I, Layer II 和 LayerIII(也就是 MP3)。LIBMAD 提供 24-bit 的 PCM 输出,完全是定点计算,非常适合没有浮点支持的平台上使用。使用 libmad 提供的一系列 API,就可以非常简单地实现 MP3 数据解码工作。在 libmad 的源代码文件目录下的 mad.h 文件中,可以看到绝大部分该库的数据结构和 API 等。

其网址如下:

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

ftp://ftp.mars.org/pub/mpeg/下载以下三个文件:

libid3tag-0.15.1b.tar.gz

libmad-0.15.1b.tar.gz

madplay-0.15.1b.tar.gz

libid3tag  :是分析MP3文件的库;

libmad  :是MP3解码库;

madplay :是基于上面两个库的MP3播放器,该播放器是基于命令行操作的播放器。

1.2 下面是移植上面三个源码的步骤

移植的主要步骤为解压缩、配置、编译、安装;

一般源码包解压缩之后,使用源码包目录下的./configure脚本来配置源码包;可以使用./configure --help查看配置选项。

这里我们主要配置以下两个选项:

    --host:    用于指定平台,如:

            --host=arm-armv4t-linux-gnueabi

    --prefix:  用于指定安装路径,如:

            --prefix=/opt/crosstool/4.3.2/arm-armv4t-linux-gnueabi

Ø  移植libid3tag

 

1.         tar zxvf libid3tag-0.15.1b.tar.gz

2.         cd libid3tag-0.15.1b/

3.         ./configure --prefix=/home/bt/madplay/install/ --host=arm-2440-linux-gnueabi

4.         make

5.         make install

Ø  移植libmad

1.         tar zxvf libmad-0.15.1b.tar.gz

2.         cd libmad-0.15.1b/

3.         ./configure --prefix=/home/bt/madplay/install/ --host=arm-2440-linux-gnueabi

4.         make

5.         make install

Ø  移植madplay

1.         tar zxvf madplay-0.15.1b.tar.gz

2.         cd madplay-0.15.1b/

3.         ./configure --prefix=/home/bt/madplay/install/ --host=arm-2440-linux-gnueabi CPPFLAGS=-I/home/bt/madplay/install/include/ LDFLAGS=-L/home/bt/madplay/install/lib/

4.         make

编译完之后将madplay拷贝到根文件系统中(此madplay是可执行文件 位于编译后的madplay-0.15.1b目录内)

cp madplay /home/bt/myrootfs/usr/bin/

将libid3tag、和libmad库拷贝到根文件系统中(usr/lib  如果没有lib目录就新建 )

1.   cp /home/bt/madplay/install/lib/libid3tag.so* /home/bt/myrootfs/usr/lib/ -a

2.   cp /home/bt/madplay/install/lib/libmad.so* /home/bt/myrootfs/usr/lib/ -a

 

到此完成了整个madplay移植到mini2440板子的过程:

1.3 在命令行下播放MP3

madplay移植到根文件系统后,可以在开发板上使用命令来播放MP3;

播放时可以使用 --help查看madplay程序可用使用的命令行参数,这里我们关心的参数有 -v --display-time,-s参数;

如,显示当前音乐播放还剩下多少时间:

madplay -v --display-time=remaining 001.mp3(必须要存在的MP3

文件)

左下角就显示了播放还剩下的时间,-v 表示显示解码信息,--display-time=remaining 表示当前剩下的播放时间;

又如,在音乐文件的2分钟时间开始播放,-s 00:02:00 表示从时间00:02:00开始播放音乐;

madplay -v --display-time=remaining -s 00:02:00 001.mp3

使用madplay播放音乐时还可以向madplay发送信号来暂停和继续播放,如;

暂停:

    killall -STOP madplay

继续:

    killall -CONT madplay

killall和kill命令一样,都是向程序发送信号,不同点在于kill的参数是进程ID,而killall的参数是程序的名字。

上面介绍了madplay的移植和播放,接下来可以编写一个Qt程序来控制madplay的播放,暂停等。

1.4测试MP3播放器(Qt编写)

       前提:根文件系统已经移植了Qt库和tslib

         打开开发板挂载根文件系统成功后

a)         cd mp3Player

b)         ./mp3Player –qws

进入mp3软件播放界面

         选中歌曲按下播放  用耳机收听正常就证明MP3播放器正常工作了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值