JNI,使用本机代码访问SurfaceTexture

时间:2012-04-30 03:48:05

标签: android android-ndk

我需要能够在设备摄像头生成的视频流上执行本机代码(算法),为此,我考虑过OpenCV摄像头捕获,Unfortunetly,此时,它不支持Android 4.0.3 @ Samsung G2这是我的目标设备,作为替代方案,我考虑使用Java Camera object进行捕获,并使用JNI将〜捕获的数据~Mathalhal发送到本机域,但这会产生编组开销(应对数据),为了避免这种情况,我考虑将捕获的图像(预览)渲染为GL Texture(使用例如。Camera.setPreviewTexture),并直接访问GL纹理@本地域,因此,避免不必要的应对。

有没有办法直接访问TextureSurface @原生域名?

任何帮助将不胜感激。

Nadav At Sophin

1 个答案:

答案 0 :(得分:1)

作为高通公司Vuforia增强现实SDK的一部分发布的VideoPlayback示例应用实现了我的想法。我过去几天才开始自己编写代码,对我来说很多都是新的,所以我不是百分百肯定。

https://ar.qualcomm.at/content/video-playback-sample-app-posted

如果我是对的,应用程序通过Java域的MediaPlayer类播放电影文件,该类呈现给SurfaceTexture,然后由本机域中的OpenGL ES代码访问,以在实际的增强现实中呈现显示。