Linux中madplay 音乐播放器移植步骤

                                                           madplay 音乐播放器移植步骤
madplay版本:
madplay-0.15.2
交叉编译器版本:
arm-linux-gcc 3.4.1
操作系统平台:
Linux -- Red Hat 9.0
开发板平台:
Arm -- FL2440
准备源码包:
下面给出了两个网站,分别是madplay和zlib库的源码网址
madplay:http://sourceforge.net/projects/mad/files/
zlib库 :http://www.zlib.net/
madplay-0.15.2b.tar.gz libmad-0.15.1b.tar.gz,libid3tag-0.15.1b.tar.gz zlib-1.1.4.tar.gz
建立两个文件夹,一个存放源码,一个存放安装文件
在home下,mkdir两个文件夹:madplay-src madplay
依次解压四个源码包到madplay-src目录下: tar xzvf XXXXXXXXX

1. 编译zlib-1.1.4
首先配置configure 文件
#./configure --prefix=/home/madplay
修改Makefile
CC=arm-linux-gcc
AR=arm-linux-ar rc
RANLIB=arm-linux-ranlib
#make
#make install

2. 编译libid3tag
#./configure CC=arm-linux-gcc --host=arm-linux --prefix=/home/madplay 
CPPFLAGS=-I/home/madplay/include LDFLAGS=-L/home/madplay/lib
2
#make
#make install
3. 编译libmad
#./configure CC=arm-linux-gcc --host=arm-linux --prefix=/home/madplay 
CPPFLAGS=-I/home/madplay/include LDFLAGS=-L/home/madplay/lib
#make
#make install
4. 编译madplay
#./configure CC=arm-linux-gcc --host=arm-linux --prefix=/home/madplay 
CPPFLAGS=-I/home/madplay/include LDFLAGS=-L/home/madplay/lib
#make

到这就结束了,可以不用make install
在madplay-0.15.2b目录下生成madplay的可执行文件,查看一下需要的动态库
#arm-linux-readelf -d madplay
输出运行时所需的动态库:libmad.so.0, libid3tag.so.0, libm.so.6,libc.so.6
将后两个文件从lib拷贝到根文件系统的/usr/lib目录下(先查看,如果已经有了则不需要),
前两个文件是在/madplay/lib/下生成的,把这两个文件也拷贝到/usr/lib下。
将madplay复制到根文件系统/usr/bin目录下,将一个MP3文件也放在某一目录下,在开发板上执行madplay程序
#madplay XXX.mp3
MPEG Audio Decoder 0.15.2 (beta) - Copyright (C) 2000-2004 Robert Leslie et al.
s3c2410-uda1341-superlp: audio_set_dsp_speed:44100 prescaler:66
Title: XX
Artist: XXX
Album: XXXX
Track: XX
3
Comment: XXXXXXXXX
s3c2410-uda1341-superlp: audio_set_dsp_speed:44100 prescaler:66
如果出现这个信息,应该就没有问题了,可以听歌了。
madplay还有一些快捷键,比如:增大/减小音量(+/-),暂停(b),停止(ESC),其他的操作可以查看madplay的源码。
5. 静态编译
以上是用动态编译的方法,程序运行时需依赖动态库文件。也可以采用静态编译的方法,将静态库编译到程序中,运行时不需要动态库文件
在配置libid3tag,libmad,madplay时,加上参数“--disable-shared --enable-static”即可静态编译madplay

编译完成后只需将madplay复制到根文件系统/usr/bin目录下,不需要复制动态库。

时间: 2024-09-11 05:39:56

Linux中madplay 音乐播放器移植步骤的相关文章

三国争霸 Linux三款音乐播放器全方位PK

Linux三款音乐播放器全方位PK 电脑一直被大家用作音乐播放的设备.我们可以从互联网上听到成百上千人的音乐文件.现在已经有很多人的电脑根本离不开音乐播放器,Windows中的音乐播放器 大家可能都耳熟能详了,但是在Linux中,很多新手却很找到一款适合自己的音乐播放器,以致于对Linux逐渐失去兴趣. 其实,Linux中的音乐播放器也有很多,而且功能相当不错的,这里给大家介绍三个最具代表性的音乐播放器,并对三个进行对比,大家可以根据个人喜好选择适合自己的音乐播放器. 三国争霸 Linux三款音

推荐5款好用的Linux音乐播放器

适用于 Linux 的音乐播放器可说数不胜数,不同的用户也有各自的喜好.知名且应用广泛的有 Cantata 和 Exaile,不太知名的工具有 Clementine.Nightingale 和 Quod Libet,国产较好用的有网易云音乐,小编为大家推荐 5 款好用的 Linux 音乐播放器,各位看客自行选择吧. 1. Qmmp Qmmp 其实就是 Linux 版的 Winamp,它的界面虽然很轻量级,但却有丰富的功能集.想必很多 Winamp 老用户都有怀旧感情,而 Qmmp 与 Winam

clementine-player v0.7发布 漂亮简单的音乐播放器

linux上的http://www.aliyun.com/zixun/aggregation/9366.html">音乐播放器实在是太多,今天linux迷就介绍一下在Ubuntu Linux下安装漂亮简单的音乐播放器Clementine.安装之前先了解一下Clementine都有哪些功能. ·收听 Last.fm, SomaFM, Magnatune, Jamendo 和 Icecast 上在线音乐电台 ·创建智能型及动态型播放列表 ·导出和导入 M3U, XSPF, PLS , ASX

如何从Ubuntu的声音菜单中移除音乐播放器

如何从Ubuntu的声音菜单中移除音乐播放器 自从2010年首次出现,Ubuntu 的声音菜单已经被证明是Unity 桌面上的最流行的独有特性之一. 把音乐播放器与音量控制程序集成到一个标准的界面里是一种看起来很聪明的做法,这样就不用到处找声音相关的各种程序.人们不禁要问,为什么其它操作系统没有效仿这种做法! 臃肿 尽管它看起来很方便,但是这个小应用当前存在一个问题:很多播放器都堆在一起,像一个组合音响一样.也许你用得着,但是你安装的所有的媒体播放器都挤在这里,这会让人看着很累赘和反感. 我将要

点评Linux平台上的音乐播放器Audacious 3.4

在Linux平台上,虽然音乐播放器软件多如牛毛,但是称得上音乐播放器这个名称的为数不多.Audacious是一款非常知名的软件,并且就是这些能被叫做音乐播放器的少数软件之一.   版本点评:Audacious 3.4 Audacious是一款开源的音乐播放器软件. 作为XMMS播放器软件的分支,Audacious播放器可以随心所欲的播放你的音乐,并且不会抢占其他任务的系统资源. 在你的所有音乐库里,你可以进行拖动文件夹和放置私人的歌曲文件.搜索歌手和专辑或者编辑你的自定义播放列表等操作. 特性:

qt移植 环境搭建-关于qt音乐播放器在开发板上的问题

问题描述 关于qt音乐播放器在开发板上的问题 在三星的exynos4412开发板上怎么样可以让qt音乐播放器播放音乐 我也移植了madpaly,madplay可以播放音乐,但是qt音乐播放器就是无法播放音乐 解决方案 Qt4.7 在开发板上的中文显示问题 解决方案二: http://www.openedv.com/thread-22393-1-1.html

实例解析iOS中音乐播放器应用开发的基本要点_IOS

一.调整项目的结构,导入必要的素材 调整后的项目结构如下: 二.新建两个控制器(1)新建一个控制器,用于展示音乐文件列表界面,其继承自UITableViewController (2)新建一个控制器,用于展示播放界面,其继承自UIViewController (3)在storyboard中,把之前的控制器删除,换上一个导航控制器,设置tableViewController与之前新建的控制器类进行关联 三.音乐文件列表控制器中基本界面的搭建(1)新建一个音乐文件的模型 根据plist文件建立模型:

android音乐播放器中播放模式的设计

在音乐播放器中,播放模式一般放在音乐播放完毕后自动识别,如下给出逻辑代码,可根据需要添加合适 的代码 public static final int ALL = 0;//全部循环 public static final int SINGLE = 1;//单曲循环 public static final int RANDOM = 2;//随机 // 一首歌播放完成后(这里设置播放模式) public class Completed implements OnCompletionListener {

android 音乐播放器中播放模式的设计

  在音乐播放器中,播放模式一般放在音乐播放完毕后自动识别,如下给出逻辑代码,可根据需要添加合适的代码 public static final int ALL = 0;//全部循环 public static final int SINGLE = 1;//单曲循环 public static final int RANDOM = 2;//随机 // 一首歌播放完成后(这里设置播放模式) public class Completed implements OnCompletionListener