基于alsa和libmad嵌入式mp3播放器

本文介绍了如何在嵌入式Linux系统上,利用ALSA库和libmad库开发一个MP3播放器。详细阐述了ALSA与libmad的移植步骤,包括编译、安装和配置,以及最终的代码编译和运行。提供了源码和移植库的下载链接。
摘要由CSDN通过智能技术生成

可移植ok6410 的mp3播放器,基于alsa和libmad库,内含编译好的库和播放器以及源代码,解压后可直接运行,和以移植好的mplayer官方播放器(可快进 暂停 时间轴 音量控制等)

源码及移植库文件下载地址:
https://download.csdn.net/download/ywueoei/10898346

####################################################################

1 设计功能概述
基于ALSA通过Libmad解码对MP3格式音乐进行播放。
2 设计方案
2.1 设计说明
由于 Linux 具有开放源码,软件资源丰富,性能高效、稳定,支持多种体系结构,大小、功能都可定制,价格低廉等优点,本MP3 播放器系统基于嵌入式Linux操作系统来实现。
而对于 MP3 播放器一些底层功能的实现,可以基于一些开源音频解码库,只要开发者遵循开发协议即可,这样可以加快开发速度和减少开发成本。在本 MP3 播放器的设计和实现的过程中,主要采用 libmad 解码库。libmad是一个开源的高精度MPEG音频解码库,它提供 24-bit 的PCM输出。用 libmad 解码库对 MP3 文件进行解码播放的音质比较好,而且使用libmad提供的API,可以实现 MP3 数据解码和顺序播放
开发环境:Linux内核版本:Linux Ubuntu 3.1.0,开发环境Ubuntu16.4交叉编译器arm-linux-gcc,开发语言为C语言,开发工具:vim,在arm-linux平台上的实现:将代码使用arm-linux-gcc工具在PC端进行静态编译,编译完成之后,将生成的可执行文件放在主机目录下,使用主机的xshell连接arm-linux开发板,通过nfs工具将可执行文件上传至开发板。
2.2 设计过程
1.ALAS和Libmad两个库的移植
1)ALSA移植
① 下载必要的文件
下载页面:http://dl.ambiweb.de/mirrors/ftp.alsa-project.org/lib/
alsa-lib-1.0.24.1.tar.bz2
alsa-utils-1.0.24.2.tar.bz2
在/forlink/nfsroot/alsa_arm目录下存放它们
② 编译安装alsa-lib
解压alsa-lib,然后进入解压后的目录
在终端下输入配置命令:
./configure --host=arm-linux --target=arm-linux --prefix=/usr/local/arm/4.5.1/arm-none-linux-gnueabi/lib/arm-alsa --enable-static --enable-shared --disable-python --with-configdir=/usr/share --with-plugindir=/usr/lib/alsa_lib
配置完成后编译:
make
编译完成后安装;
make install
③ 编译安装alsa-utils
解压alsa-utils,然后进入解压后的目录
在终端下输入配置命令:
PKG_CONFIG_PATH="/usr/local/arm/4.5.1/arm-none-linux-gnueabi/lib/arm-alsa/lib/pkgconfig"
LDFLAGS="-L/usr/local/arm/4.5.1/arm-none-linux-gnueabi/lib -lpthread -lc -lgcc"
CFLAGS="-I/usr/local/arm/4.5.1/arm-none-linux-gnueabi/include"
./conf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值