如何使用Android摄像头与OpenGL ES工作?

时间:2011-10-21 09:37:25

标签: android opengl-es opengl-es-2.0 shader android-camera

我想使用OpenGL ES进行Android相机预览并保存捕获的图像。

我喜欢在Android相机中使用OpenGL ES来为Android相机带来一些效果。那么请有人告诉我该怎么做?

2 个答案:

答案 0 :(得分:7)

您需要实现android.hardware.Camera.PreviewCallback接口并覆盖方法

public synchronized void onPreviewFrame(byte[] data, Camera camera) {
                        myOpenGLObject.receiveFrames(data);
        }

读取从相机回调接收的帧。 我建议你看一下andar来源http://code.google.com/p/andar/。尤其是班级CameraPreviewHandler.java

我希望这能回答你的问题。

答案 1 :(得分:1)

更快的方法是避免onPreviewFrame回调并使用SurfaceTexture作为相机渲染预览的纹理。 看一下grafika里面的例子,它或多或少都是这样的:https://github.com/google/grafika/blob/master/src/com/android/grafika/CameraCaptureActivity.java