您的位置:首页 > 移动开发 > Android开发

Android lame库在Windows下编译

2016-09-01 16:43 253 查看


作者:谭东

时间: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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: