我正在构建一个视频系统,其中包含来自摄像头的视频捕获、视频编码和视频复用。
我想在 C 级别使用编码,因为在将数据发送到编码器之前我想实现一些算法。
NDK 示例中有一个'native-media' 项目,它在C 级别调用OMX 函数来进行视频解码和播放,但现在NDK 似乎不支持OMX 编码,是吗?真的吗?
我已经在 Java 级别成功使用了 MediaCodec API,如果 NDK 不支持 OMX 的编码,我可以通过 C 代码使用 MediaCodec API 吗?
最佳答案
是的,您可以从 C 代码调用 Java 方法。 例如,如果我们要调用方法 x.doSomething(5),假设 x 是“com.example.ndk”包中 MyClass 类的一个实例,并且该方法返回 void,我们可以使用:
jclass cls = (*env)->FindClass(env, "com/example/ndk/MyClass");
jmethodID mid = (*env)->GetMethodID(env, cls, "doSomething", "(I)V");
(*env)->CallObjectMethod(env, x, mid, 5);
地点:
关于android - 是否可以通过 C 级别使用 android API?或者我可以通过 C 代码使用编解码器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22126016/