Coo*_*חמד 20 audio mp3 android
我想为Android编译跛脚编码器.我怎样才能找到Lame的教程及其Android平台的编译.
谢谢,
MH.*_*MH. 32
曾经有一篇关于如何为Android编译跛脚的好博客文章,但出于某种原因,它已经离线一段时间,只在一些狡猾的中国网站上可用.
我只想复制以下内容:
使用Android NDK将编译lame编码器移植到Android ARM arch
我在Android Market中寻找一个mp3编码应用程序,发现很少,我认为Android不支持mp3编码的原因是因为mp3是专利技术.另一个原因是我猜人们更喜欢Java编程和Android SDK而不是Android原生开发工具包.
尽管如此,使用Android NDK为Android编译libmp3lame库实际上非常简单.
- 下载Android NDK(您还需要Android SDK和带ADT插件的Eclipse)并创建简单项目.
- 在项目目录中创建名为"jni"的目录.
- 下载lame源,解压缩,将目录libmp3lame中的所有源复制到jni目录.同时复制lame.h,它位于lame源的include目录中.
- 创建jni/Android.mk文件.它应该是这样的:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)`
LOCAL_MODULE := mp3lame
LOCAL_SRC_FILES := bitstream.c fft.c id3tag.c mpglib_interface.c presets.c quantize.c reservoir.c tables.c util.c VbrTag.c
encoder.c gain_analysis.c lame.c newmdct.c psymodel.c
quantize_pvt.c set_get.c takehiro.c vbrquantize.c version.c
include $(BUILD_SHARED_LIBRARY)
Run Code Online (Sandbox Code Playgroud)
- 清洁跛脚来源,删除什么从GNU自动离开,
Makefile.am,Makefile.in,libmp3lame_vc8.vcproj,logoe.ico,depcomp,文件夹i386,vector.- 编辑文件
jni/utils.h,并extern ieee754_float32_t fast_log2(ieee754_float32_t x);用此替换定义extern float fast_log2(float x);- 转到你的Android项目的根目录并运行
$pathtoandroidndk/ndk-build,你已经完成了,你将limp3lame.so编译.
此外,关于SO的以下问题可能对您感兴趣,因为它在编译Android的跛脚后处理一些问题: