分享

MP3播放器madplay在ARM平台上的移植

 guitarhua 2012-11-09

MP3播放器madplay在ARM平台上的移植

昨天晚上尝试编译mplayer,遇到数不清的错误,直接导致我大脑短路
mplayer涉及到的库实在是太多了。。。。。。。。说不定哪就会出问题
同时参考5篇编译的教程mplayer,最后编译出来的mplayer文件竟然不能用orz
早上发现文档中还有一篇介绍编译madplay的,抱着试试看的心情尝试下,竟然成功了!
音质相当不错,感觉比我的mp3还好!
/usr/bin # ./madplay -i /tmp/1.mp3
MPEG Audio Decoder 0.15.2 (beta) -Reading data from NAND FLASH without ECC is not recommended
Copyright (C) 2000-2004 Robert Leslie et al.
s3c2410-uda1341-superlp: audio_set_dsp_speed:44100 prescaler:66
          Title: 高达一年战争秘闻录
         Artist: Taja
          Genre: Other
s3c2410-uda1341-superlp: audio_set_dsp_speed:44100 prescaler:66
下面转载那篇编译madplay的文档   

准备:
下载下面的源代码包
{ libid3tag, libmad,madplay}
http:///project/showfiles.php?group_id=12349
{ zlib: needed by libid3tag }
http://www./zlib-1.2.3.tar.gz
1.
编译zlib 因为libid3tag需要这个库
./configure --prefix=/usr/local/arm/2.95.3/arm-linux
修改Makefile
AR=/usr/local/arm/2.95.3/bin/arm-linux-ar rc

CC=/usr/local/arm/2.95.3/bin/arm-linux-gcc
RANLIB=/usr/local/arm/2.95.3/bin/arm-linux-ranlib
make
make install

2.
编译libid3tag
./configure --host=arm-linux CC=arm-linux-gcc --disable-debugging --disable-shared --prefix=/usr/local/arm/2.95.3/arm-linux
make
make install

3.
编译libmad
./configure --enable-fpm=arm --host=arm-linux --disable-shared --disable-debugging --prefix=/usr/local/arm/2.95.3/arm-linux CC=arm-linux-gcc
make
make install

4.
编译madplay
./configure --host=arm-linux CC=arm-linux-gcc --disable-debugging --disable-shared
make
但是,这样得到的是动态连接的。
rm madplay
拷贝make的最后一个连接的命令,在最后加上-static,然后运行,得到静态连接的程序
(
动态连接的话在ARM板上运行不起来)


上面这一个命令arm-linux-gcc 的最后一个参数static是我自己加上去的。在终端找上以上命令后,很快就编译完毕了,我又到madplay目录下看一下madplay文件的大小, 820多K!!!,太好了,我知道可能是成功了,就把它下载到板子中,敲入:
$> ./madplay pig.mp3
美妙的歌曲荡漾在我的耳边,真是高兴呀!!cheer!
=========================================================================
文中提到了使用静态编译,我还是使用了动态编译器,用那个200多k的madplay文件
同时把3.4.1编译器中几个新生成的lib库文件拷贝到开发板的lib库中就可以正确运行了

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约