繁体   English   中英

Android中的FFMpeg jni?

[英]FFMpeg jni in Android?

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

我是Android的原生代码新手,我找不到一个简单的答案。 基本:有一堆Android兼容的库和一些C头文件,我需要做些什么才能从java(+ Android SDK)重用这些库的功能?

任何帮助,将不胜感激。

亲切的问候,

WhyHow

您必须使用JNI约定编写一些C glue代码,以将FFmpeg功能公开给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上找到了这个项目,它已经为ffmpeg实现了一些JNI接口,以便将它与Java Media Framework集成。 你可能会发现它很有用。

还有另一种称为JNA(Java Native Access)的Java FFI技术允许您在Java中声明本机函数原型并直接调用它们。 使用它可能需要更少的样板代码。 有关Android实现,请参阅此项目 (我自己从未使用过它)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM