RV1126笔记三十一:使用libmad播放mp3

若该文为原创文章,转载请注明原文出处。

一、介绍

在RV1126上,可以直接播放PCM和AAC文件,在新版本的SDK不能AAC,这里记录一下如何播放MP3, 方法有挺多的,使用ffmpeg,QT等,这里移植libmad库,把mp3解码成pcm播放,需要注意的是解码后的pcm格式是44100Hz,16bit,双声道。

二、libmad交叉编译

下载源码,版本是libmad-0.15.1b.tar.gz,网上很多

解压:
tar -xvf libmad-0.15.1b.tar.gz
配置:
./configure --enable-fpm=arm --host=arm-linux CC=/opt/atk-dlrv1126-toolchain/usr/bin/arm-linux-gnueabihf-gcc --enable-shared --enable-static --disable-debugging --prefix=/opt/arm_libmad
编译:
make
make instal
出错:
修改 Makefile 129行 去掉 –fforce-mem
重新编译

会在/opt/arm_libmad下生成lib文件和include头文件。

三、测试

把一个mp3文件解码成pcm文件,需要添加libmad库

/* 
 * 本程序是从 minimad 改进而来,如要更详细的说明请参看 minimad.c
 */
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/stat

猜你喜欢

转载自blog.csdn.net/weixin_38807927/article/details/129184262