您尚未登录。

楼主 #1 2021-01-08 10:15:33

LinjieGuo
Moderator
注册时间: 2019-07-24
已发帖子: 565
积分: 570
个人网站

编译开源播放器madplayer,播放音乐

为了帖子[慢更]小白探索如何使用V3s在线播放音乐 能够继续进行下去。
    我没有明确的方向,先各方面玩一玩。这个帖子是在linux ubuntu下编译mad player,并播放音乐。
参考文章:构建嵌入式Linux应用系统 —— mp3播放器 madplay的移植
(1)拉取源码
ftp://ftp.mars.org/pub/mpeg/
    从链接里下载一下三个源码包:
libid3tag-0.15.1b.tar.gz 
libmad-0.15.0b.tar.gz 
madplay-0.15.2b.tar.gz
(2)创建工作目录

mkdir /home/sinlinx/SIN-V3s/mad_player

(3)创建各版本输出目录

mkdir tarball src-x86 src-arm target-x86 target-arm

(4)上传源码进tarball
(5)解压源码

tar xzvf libid3tag-0.15.1b.tar.gz  
tar xzvf libmad-0.15.0b.tar.gz  
tar xzvf madplay-0.15.2b.tar.gz

(6)编译 madplay所依赖的库文件
a) libid3tag

#cd ../src-x86/libid3tag-0.15.1b
#./configure -prefix=/home/sinlinx/SIN-V3s/mad_player/target-x86
#make
#make install

b) libmad

#cd ../ libmad-0.15.1b
#./configure -prefix=/home/sinlinx/SIN-V3s/mad_player/target-x86
#make
#make install

编译libmad时候出现
cc1: error: unrecognized command line option “-fforce-mem”
解决方式是:找到libmad configure之后的Makefile,
删除 -fforce-mem
原因是gcc 3.4 或者更高版本,已经将其去除了,所以会出现上面的错误!

(7)编译安装 madplay

如果我们还是像刚才那样配置编译选项:

#cd madplay-0.15.2b
#./configure -prefix=/home/sinlinx/SIN-V3s/mad_player/target-x86


        提示找不到mad.h头文件。出现这样的错误提示,是因为madplay依赖于libmad库,因此在配置madplay的时候,它会查找相关依赖库的头文件mad.h。因为我们之前已经编译并安装了依赖库,所以只需要根据提示设置 CPPFLAGS环境变量,指向mad.h头文件所在的位置即可。

#./configure -prefix=/home/sinlinx/SIN-V3s/mad_player/target-x86 CPPFLAGS=-I/home/sinlinx/SIN-V3s/mad_player/target-x86/include


        提示找不到libmad库文件。出现这样的错误提示,是因为madplay依赖于libmad库,因此在配置madplay的时候,它会查找相关依赖库的库文件libmad.so。因为我们之前已经编译并安装了依赖库,所以只需要根据提示设置
LDFLAGS环境变量,指向libmad.so库文件所在的位置即可

#./configure -prefix=/home/sinlinx/SIN-V3s/mad_player/target-x86 CPPFLAGS=-I/home/sinlinx/SIN-V3s/mad_player/target-x86/include LDFLAGS=-L/home/sinlinx/SIN-V3s/mad_player/target-x86/lib
#make
#make install

(8)上传一个mp3文件到/home/sinlinx/SIN-V3s/mad_player/target-x86/bin目录。
(我的mp3文件命名为0001.mp3)
(9)在ubuntu上面播放测试madplayer是否能够工作

cd /home/sinlinx/SIN-V3s/mad_player/target-x86/bin
./madplay 0001.mp3

        执行命令后,console上面输出内容如下:

MPEG Audio Decoder 0.15.2 (beta) - Copyright © 2000-2004 Robert Leslie et al.
          Title: Tetris
         Artist: CheetahMobile Games
      Orchestra: CheetahMobile Games
          Album:  Rolling Sky OST
          Track: 29
        Comment: 163 key(Don't
                 modify):L64FU3W4YxX3ZFTmbZ+8/ZgOOJyVt636f0A43R5s34w/N/EwiWIaOfxUHrFg3D/M22zIla23pRDyjuXVCLS5X/ZvQzK6axrNQ8gWcDRKttQ5E3IHnFFfZNkcu3s7h5xu6T1giWpDOF7JQ+v5zZymuhXEEKJXDlvbvzCMXtWuc0tOqAFjB1LU8Bpn1KUMZfB4yc+OKKkh9RJYwYFAlPFxbnGgEw48aj1XbtIMqj1L4N90GxVZzb2UiXwC7Nq+LR3hEts1WHTw3VpwZNgfkJCk3AG+jptSFm1mr/bO6SwtthEfhcuiSRwdJPdkC00xAMqinwGKqW5vnFU31mV1xqM0JuwGInEmUNWYQMpNZP0GKJOumDCUST5+YLFBS42L00AsfaKz75jOamT5rDYPUgPLEsd3XK/Tt53wt4hscf+jekS9dUie90VDRxtghnEXkkaZn5B46TkKdSNLX160ISdbf6ywi4SypxwQOc9S/+QUi9s=

        输出这样的内容,说明成功了,并且可以听到悦耳的音乐。

最近编辑记录 LinjieGuo (2021-01-08 10:23:50)

离线

#2 2021-01-08 12:33:40

xiaohui
会员
注册时间: 2019-01-15
已发帖子: 259
积分: 137.5

Re: 编译开源播放器madplayer,播放音乐

点赞,支持

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn