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
相关文章推荐
- 在windows下用mingw编译emacs
- [HOW-TO] Windows平台如何编译MySQL代码
- Windows下如何编译ffmpeg
- windows下使用makefile编译C语言.doc
- 如何在Windows下编译sqlite3,生成动态链接库并使用(New_070929)
- Meshlab在 Windows下的编译
- Windows下mod_auth_mysql.so的编译和配置
- Windows下C++编译环境--编译器和IDE
- 在windows环境中编译ACE/TAO/CIAO注意事项
- 在windows下编译GNU Emacs
- windows下面编译和使用libpqxx
- 在windows下怎么编译openssl
- 在Windows下编译OpenSSL(VS2005)
- 在Windows中编译OpenH323(下)
- windows平台下编译stunnel
- 在Windows中编译OpenH323(下)---------编译OpenH323
- windows下编译和使用libpq
- 以 Console 方式运行、调试、编译 .Net 编写的 Windows 服务
- 在Windows下编译OpenSSL
- 使用mingw和msys在windows上编译bdb