как использовать андроид камеру с OpenGL ES для работы? - PullRequest
14 голосов
/ 21 октября 2011

Я хочу использовать OpenGL ES для предварительного просмотра камеры Android и сохранить захваченное изображение.

Мне нравится использовать OpenGL ES в камере Android, чтобы придать эффект камере Android.Так что, пожалуйста, кто-нибудь подскажет, как это сделать?

Ответы [ 2 ]

7 голосов
/ 08 ноября 2011

вам нужно реализовать интерфейс 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 голос
/ 12 марта 2015

Более быстрый способ состоит в том, чтобы избежать обратного вызова onPreviewFrame и использовать SurfaceTexture в качестве текстуры, для которой камера выполняет предварительный просмотр. Посмотрите на пример внутри графика, который более или менее делает то же самое: https://github.com/google/grafika/blob/master/src/com/android/grafika/CameraCaptureActivity.java

...