FFMpeg jni在Android?

我已经构build了由Bambuser(http://bambuser.com/opensource)提供的FFMPEG可执行文件和库。 所以我设法build立了Android可执行文件和libraties。 如何链接我的Eclipse项目中的这些库,并从Java中调用FFmpeg函数? 开源代码包含C头文件。

我是Android的本地编码新手,我找不到一个简单的答案。 在基本的:有一堆Android兼容的库和一些C头文件我必须做什么来重用这些libaries的function从Java(+ Android SDK)?

任何帮助,将不胜感激。

亲切的问候,

WhyHow

Solutions Collecting From Web of "FFMpeg jni在Android?"

您必须使用JNI约定编写一些C代码,以将FFmpegfunction展示给Java代码。 以下是Android NDK示例中用C实现的JNI方法示例:

jstring Java_com_example_hellojni_HelloJni_stringFromJNI( JNIEnv* env, jobject thiz ) { return (*env)->NewStringUTF(env, "Hello from JNI !"); } 

您还需要一些Java代码来加载库并声明本地方法。

 public class HelloJni { public native String stringFromJNI(); static { System.loadLibrary("hello-jni"); } } 

我在sourceforge上find了这个项目,这个项目已经实现了一些与ffmpeg结合的JNI接口。 你可能会觉得它很有用。

还有另一种名为JNA(Java Native Access)的Java FFI技术,它允许你用Java声明本地函数原型并直接调用它们。 使用它可能需要较less的样板代码。 查看这个项目的Android实现。 (我自己从来没有用过)