我正在写一个显示视频的应用程序。该应用程序是使用Android NDK和JNI编写的。
我想使用OpenMAX。在OpenMAX示例中,它从Java检索表面,但是从哪里可以获得要呈现的表面呢?我只能通过applicationContext获取nativeWindow。
示例:
void Java_com_example_nativemedia_NativeMedia_setSurface(JNIEnv *env, jclass clazz, jobject surface)
{
theNativeWindow = ANativeWindow_fromSurface(env, surface);
}但我没有表面。
谢谢
发布于 2013-01-17 01:53:20
表面是从SurfaceHolder中检索的,该a在SurfaceHolder.Callback的方法中作为参数传入,即surfaceChanged或surfaceCreated。
查找Java调用JNI函数setSurface的位置:
wilhelm\tests\native-media\src\com\example\nativemedia\NativeMedia.java
https://stackoverflow.com/questions/13971966
复制相似问题