移植madplay和aplay
2012-12-16 20:45
453 查看
转载请表明来源:/article/9112324.html
对于声卡驱动的应用编程,有一个是基于alsa-lib的,这个依赖的是alsa架构。还有madplay以来的就是oss架构。现在来移植这两种:
1、madplay移植:
首先准备好三个安装包:
两个库安装包:
libid3tag-0.15.1b.tar.bz2;
libmad-0.15.1b.tar.bz2;
一个应用层安装包
madplay-0.15.2b.tar.bz2
第一步:安装库:
创建一个目录sound(用来存放库、头文件、最终播放命令);
存放库、头文件:
对于库的安装都是执行:
# ./configure --host=arm-linux --prefix=/sound(库、头文件存放目录)----配置
#make-----------------------------------------------------------------编译
#make install---------------------------------------------------------安装
这是sound目录下就有库、头文件。
注意:如果在编译libmad安装包时候,出现错误:
cc1: error: unrecognized command line option "-fforce-mem"
解决:修改Makefile,把-fforce-mem去掉,就可以了。
存放最终播放命令:
进入madplay-0.15.2b源代码中:
#./configure --host=arm-linux --prefix=/sound LDFLAGS="-L/sound/lib" CPPFLAGS="-I/sound/include"
#make
#make install
最后一步把/sound/bin复制到开发板文件系统的bin目录下,把/sound/lib下的*so*也复制到开发板的lib目录下:
#cp sound/bin/ /root/rootfs/rootfs/bin/
#cp sound/lib/*so* /root/rootfs/rootfs/lib/ -d
现在把一个mp3格式的音乐放到根目录:
# madplay /long/lalalala.mp3
MPEG Audio Decoder 0.15.2 (beta) - Copyright (C) 2000-2004 Robert Leslie et al.
Title: 我在那一角落患过伤风
Artist: 陈绮贞
Track: 9
Year: 2004
Genre: Pop
到这里,mpa的音乐响起。
2、aplay(这部分参考网上来移植的):
1、编译alsa-lib:
# ./configure --host=arm-linux --prefix= /安装目录 --enable-static --enable-shared --disable-python --with-configdir=/usr/local/share --with-plugindir=/usr/local/lib/alsa_lib
#make
#make install
2、编译apla-util:
#./configure --host=arm-linux --prefix=/安装目录 --enable-static --enable-shared --with-configdir=/usr/local/share CFLAGS="前面编译alsa-lib产生的include目录" LDFLAGS="-L前面编译alsa-lib产生的lib目录 -lasound " --disable-alsamixer --disable-xmlto
#make
#make install
3、把产生的所有lib目录下的库复制到目标版上的/lib目录下;
将/usr/local/share目录下的文件拷贝到目标板上同样的目录/usr/local/share下;
根据自己需要把上面编译产生的bin目下的操作命令复制到开发板的bin目录下,常用的命令有aplay\arecord\amixer。
4、测试:
aplay lalalala.wav
对于声卡驱动的应用编程,有一个是基于alsa-lib的,这个依赖的是alsa架构。还有madplay以来的就是oss架构。现在来移植这两种:
1、madplay移植:
首先准备好三个安装包:
两个库安装包:
libid3tag-0.15.1b.tar.bz2;
libmad-0.15.1b.tar.bz2;
一个应用层安装包
madplay-0.15.2b.tar.bz2
第一步:安装库:
创建一个目录sound(用来存放库、头文件、最终播放命令);
存放库、头文件:
对于库的安装都是执行:
# ./configure --host=arm-linux --prefix=/sound(库、头文件存放目录)----配置
#make-----------------------------------------------------------------编译
#make install---------------------------------------------------------安装
这是sound目录下就有库、头文件。
注意:如果在编译libmad安装包时候,出现错误:
cc1: error: unrecognized command line option "-fforce-mem"
解决:修改Makefile,把-fforce-mem去掉,就可以了。
存放最终播放命令:
进入madplay-0.15.2b源代码中:
#./configure --host=arm-linux --prefix=/sound LDFLAGS="-L/sound/lib" CPPFLAGS="-I/sound/include"
#make
#make install
最后一步把/sound/bin复制到开发板文件系统的bin目录下,把/sound/lib下的*so*也复制到开发板的lib目录下:
#cp sound/bin/ /root/rootfs/rootfs/bin/
#cp sound/lib/*so* /root/rootfs/rootfs/lib/ -d
现在把一个mp3格式的音乐放到根目录:
# madplay /long/lalalala.mp3
MPEG Audio Decoder 0.15.2 (beta) - Copyright (C) 2000-2004 Robert Leslie et al.
Title: 我在那一角落患过伤风
Artist: 陈绮贞
Track: 9
Year: 2004
Genre: Pop
到这里,mpa的音乐响起。
2、aplay(这部分参考网上来移植的):
1、编译alsa-lib:
# ./configure --host=arm-linux --prefix= /安装目录 --enable-static --enable-shared --disable-python --with-configdir=/usr/local/share --with-plugindir=/usr/local/lib/alsa_lib
#make
#make install
2、编译apla-util:
#./configure --host=arm-linux --prefix=/安装目录 --enable-static --enable-shared --with-configdir=/usr/local/share CFLAGS="前面编译alsa-lib产生的include目录" LDFLAGS="-L前面编译alsa-lib产生的lib目录 -lasound " --disable-alsamixer --disable-xmlto
#make
#make install
3、把产生的所有lib目录下的库复制到目标版上的/lib目录下;
将/usr/local/share目录下的文件拷贝到目标板上同样的目录/usr/local/share下;
根据自己需要把上面编译产生的bin目下的操作命令复制到开发板的bin目录下,常用的命令有aplay\arecord\amixer。
4、测试:
aplay lalalala.wav
相关文章推荐
- 移植madplay到FL2440
- linux-2.6.14下madplay在S3C2410上移植的全过程详解
- 基于tiny6410的madplay播放器的移植
- 音频解码器madplay移植
- 移植madplay 很好用用的播放器工具
- FS_S5PC100之madplay移植
- linux-2.6.13下madplay在S3C2440上移植的全过程详解
- Madplay移植到mini2440步骤
- 移植madplay mp3 播放器到linux-2.6
- 移植madplay mp3 播放器到linux-2.6
- madplay移植-交叉编译
- linux-2.6.32在mini2440开发板上移植(20)之音频解码器madplay移植
- madplay移植过程 - 音频mp3解码器
- 《华清远见学习手记》 之3G智能机器人——移植madplay到FS2410
- mp3库及madplay 的移植
- Madplay移植到mini2440
- MADPLAY移植
- madplay 移植到 MINI2440 Fedora9 arm-linux-gcc-4.3.2
- 基于s3c2440的madplay移植
- madplay 的移植