gpt4 book ai didi

android - Android 中的 FFMpeg jni?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:39:03 24 4
gpt4 key购买 nike

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

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

如有任何帮助,我们将不胜感激。

亲切的问候,

为什么如何

最佳答案

您必须使用 JNI 约定编写一些 C 粘合代码,以将 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 代码来加载库并声明 native 方法。

public class HelloJni
{
public native String stringFromJNI();

static {
System.loadLibrary("hello-jni");
}
}

我找到了 this project on sourceforge它已经实现了一些 JNI 接口(interface)到 ffmpeg 以将其与 Java 媒体框架集成。您可能会发现它很有用。

还有另一种 Java FFI 技术称为 JNA(Java native 访问),它允许您在 Java 中声明 native 函数原型(prototype)并直接调用它们。使用它可能需要更少的样板代码。参见 this project对于 Android 实现。 (我自己没用过)

关于android - Android 中的 FFMpeg jni?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4358047/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com