如何在PC和arm中的虚拟机中制作一个mp3 player。

需要准备的库文件有zlib-1.2.3.tar.gz,libid3tag-0.15.1b.tar.gz,libmad-0.15.1b.tar.gz,madplay-0.15.2b.tar.gz。

zlib-1.2.3.tar.tar用于文件的压缩和解压

libid3tag-0.15.1b.tar.gz mp3的解码库

libmad-0.15.1b.tar.gz madplay的库文件

madplay-0.15.2b.tar.gz 播放程序的压缩包,mp3播放器的源码。

在PC环境下配置和编译madplay,并使用madplay播放mp3.

 

1.安装zlib-1.2.3.tar.gz

解压过后,进入源码目录。

linux中.a后缀为静态库,.so文件为动态库。解压后的库文件可在/usr/lib中查看

先要对其进行配置,生成Makefile。

执行./configure(保证configure文件是可执行的就可)

make

make生成libz.a库

再把生成的库安装到系统中

make install

在/usr/local/lib中。

后续的安装与此相同。

 

2.安装libid3tag-0.15.1b

 

3.安装libmad-0.15.1b

安装的时候出现一个错误。

cc1: error: unrecognized command line option “-fforce-mem”

解决方式是:找到libmad configure之后的Makefile

找到包含"-fforce-mem"字符串,将其删除,就可以了。

原因是gcc 3.4 或者更高版本,已经将其去除了,所以会出现上面的错误。

 

4.安装madplay-0.15.2b

 

5.执行madplay

./madplay filename.mp3

又出现错误

./madplay: error while loading shared libraries: libmad.so.0: cannot open shared object file: No such file or directory

 

因此要为这个库文件在/usr/lib这个位置建立同步连接。

所以我为两个库文件建立了连接

ln -s /usr/local/lib/libmad.so.0  /usr/lib/libmad.so.0

ln -s /usr/local/lib/libid3tag.so.0  /usr/lib/libid3tag .so.0

然后执行上述播放命令就可以了。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐