前面了解jni的基本调用。 移植了lame练习一下。
lame是音频转码的非常好的库。
去网上搜一下,下载,需要自备梯子翻墙。地址
https://sourceforge.net/projects/lame/files/lame/3.99/
下载完后解压,然后把libmp3lame 目录和 include里面的lame.h复制到jni目录,就可以了。
然后开始改错。。
运行一下,提示一个floateee……类型的变量没找到,直接改为flaot就行,然后在编译,提示index 和refence 错误,还有 define memcpy(d, s, n) bcopy ((s), (d), (n)) 这个宏定义也报错。。
暴力直接注释。
向下面的报错的通通注视。
//# ifndef HAVE_STRCHR
////# define strchr index
////# define strrchr rindex
//# endif
//char *strchr(), *strrchr();
//# ifndef HAVE_MEMCPY
//# define memcpy(d, s, n) bcopy ((s), (d), (n))
//# endif
然后在编译ok了。。。转码也没发现什么问题。