说明:按照下面的方法做完后,执行 ./madplay 1.mp3会报错:audio: /dev/dsp: No such file or directory
由于我的板子上有aplay ,所以可以执行madplay -o wav:- 1.mp3|aplay 来播放。
madplay及其依赖包下载: 链接: https://pan.baidu.com/s/1kDI2w9l77VgX5EQVjXULPw 提取码: pmsc
方法来自这里,仅修改了部分内容,记录用。感谢原作者。
1.安装zlib
用交叉编译工具编译zlib,并且把库生成到交叉编译环境的库目录下。
tar xvfz zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure --prefix=/home/book/downloads/madplay/source
修改Makefile中的对应内容:
CC=arm-buildroot-linux-gnueabihf-gcc
AR=arm-buildroot-linux-gnueabihf-ar rc
RANLIB=arm-buildroot-linux-gnueabihf-ranlib
make
make install
安装完成后,在/home/book/downloads/madplay/source 中将生成lib跟include 两个文件夹。
2.安装libid3tag
tar xvfz libid3tag-0.15.1b.tar.gz
cd libid3tag-0.15.1b
./configure --host=arm-buildroot-linux-gnueabihf --enable-static --disable-shared --disable-debugging --prefix=/home/book/downloads/madplay/source CPPFLAGS=-I/home/book/downloads/madplay/source/include LDFLAGS=-L/home/book/downloads/madplay/source/lib
make
make install
说明:–host指明库运行的环境arm-buildroot-linux-gnueabihf;–prefix,CPPFLAGS,LDFLAGS指定库文件路径 -disable-shared 编译器默认是动态连接共享库的。这里指明为静态连接(关键)。
3.安装编译libmad
tar xvfz libmad-0.15.1b.tar.gz
cd libmad-0.15.1b
./configure --host=arm-buildroot-linux-gnueabihf --enable-static --disable-shared --disable-debugging --prefix=/home/book/downloads/madplay/source CPPFLAGS=-I/home/book/downloads/madplay/source/include LDFLAGS=-L/home/book/downloads/madplay/source/lib
vi Makefile:
去掉fforce-mem编译选项
make
make install
4.安装madplay
tar xvfz madplay-0.15.2b
cd madplay-0.15.2b
./configure --host=arm-linux CC=arm-linux-gcc --disable-debugging --disable-shared CPPFLAGS=-I/home/book/downloads/madplay/source/include LDFLAGS=-L/home/book/downloads/madplay/source/lib
make
make install
完成以后把生成的可执行文件madplay下载到开发板中。
按照上面的方法做完后,执行 ./madplay 1.mp3会报错:audio: /dev/dsp: No such file or directory
由于我的板子上有aplay ,所以可以执行madplay -o wav:- 1.mp3|aplay 来播放。
|