这是为了方便jni c++代码使用使用MediaCodec
从Android5.0源码里面的C++ MediaCodec的源码,针对Android 从4.1-4.4 版本编译出来的so。
导出的接口兼容ndk里面的MediaCode。具体使用可以参照ndk里面的samples的native-codec。
使用时必要在相应的java的代码文件加上以下代码
static {
switch(Build.VERSION.SDK_INT)
{
case Build.VERSION_CODES.JELLY_BEAN:
System.loadLibrary("native_codec16");
break;
case Build.VERSION_CODES.JELLY_BEAN_MR1:
System.loadLibrary("native_codec17");
break;
case Build.VERSION_CODES.JELLY_BEAN_MR2:
System.loadLibrary("native_codec18");
break;
case Build.VERSION_CODES.KITKAT:
System.loadLibrary("native_codec19");
break;
}
}
为了方便使用,提供了C++代码加载so库并动态导出符号的方法(代码参考VLC并做了改动)。
只需要把NativeCodec.cpp NativeCodec.h 放进jni项目里面,直接使用NativeCodec.h里面的方法即可。