аналогичный метод в Camera2, как onPreviewFrame в Camera - PullRequest
1 голос
/ 15 июня 2019

В классе Camera был метод, подобный

public abstract void onPreviewFrame (byte[] data,  Camera camera)

где я могу receivebyte[] данные и изменить изображение но Camera в настоящий момент амортизируется

Есть ли в Camera 2 метод, например onPreviewFrame, который возвращает данные Я хочу наложить фильтр на изображение в TextureView с камеры

1 Ответ

0 голосов
/ 15 июня 2019

В camera2 API был полностью изменен. Вы можете взять кадры внутри OnImageAvailableListener

Здесь я публикую свою часть рабочего кода, чтобы захватить фреймы.

readerListener = new ImageReader.OnImageAvailableListener() {
                @Override
                public void onImageAvailable(ImageReader reader) {

                  image = reader.acquireLatestImage();
                if(image == null){
                    //System.out.println("it is null image"); // image reader did not get new image
                    return;
                }
                Image.Plane[] planes = image.getPlanes();
                  if(planes[0].getBuffer() == null){ // here 0 indicates first target I set in outputSurfaces list
                      System.out.println("it is null object reference of planes");
                    return;
                  }
                 //.... do whatever you want here

                //After you are done with an image then close it 
               image.close(); 

               }
}

Для получения дополнительной информации вы можете посмотреть Google samples

...