Android lame库在Windows下编译

本文介绍如何在Android项目中集成LAME MP3编码库。通过详细步骤指导读者下载、配置及编译LAME库,使其能够在Android平台上顺利进行音频转码。


作者:谭东

时间:2016年9月1日

环境:Windows 7

Lame版本:Lame 3.99.5


LAME是目前最好的MP3编码引擎。LAME编码出来的MP3音色纯厚、空间宽广、低音清晰、细节表现良好,它独创的心理音响模型技术保证了CD音频还原的真实性,配合VBR和ABR参数,音质几乎可以媲美CD音频,但文件体积却非常小。对于一个免费引擎,LAME的优势不言而喻。

如果你需要将音频转码为mp3,就需要借助lame库。

因为ffmpeg自身也不支持转码Mp3,也是借助lame库实现的。


首先在官网http://lame.sourceforge.net/ 下载最新版的版本 lame-3.99.5 下载完进行解压,然后把libmp3lame目录下的文件拷贝到jni下面,去除i386文件夹,和非.c .h的文件,拷贝 lame.h (include目录下)到jni目录下。

编辑 jni/utils.h,把extern ieee754_float32_t fast_log2(ieee754_float32_t x);替换为extern float fast_log2(float x)。

ok,基本源码准备工作就做好了。


接下来写Android.mk和Application.mk。

Android.mk

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := lame

LOCAL_SRC_FILES := bitstream.c encoder.c fft.c gain_analysis.c id3tag.c lame.c mpglib_interface.c newmdct.c presets.c psymodel.c quantize.c quantize_pvt.c reservoir.c set_get.c tables.c takehiro.c util.c vbrquantize.c VbrTag.c version.c

LOCAL_LDLIBS += -llog

include $(BUILD_SHARED_LIBRARY)


Application.mk


APP_ABI := all
APP_PLATFORM := android-9
APP_CFLAGS += -DSTDC_HEADERS

完成。

接下来在配置好Ndk环境和环境变量的windows电脑上,可以使用cmd命令,或者Android Studio自带的命令窗口Terminal执行:ndk-build即可。








搞定。


Github项目代码:https://github.com/jaychou2012/LameLib



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

持续学习的工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值