Это может сработать.Предполагая, что у вас уже есть код, который в настоящее время отображает camerapreview на экране, найдите строку, которая выглядит примерно так:
camera.setPreviewDisplay(nameofsurface);
и измените ее на
camera.setPreviewDisplay(null);
Всекадры камеры по-прежнему будут доступны в вашем общедоступном void onPreviewFrame (byte [] data, Camera camera) метод.
Если вы еще не знаете, как, добавьте к этому следующие строкиМетод в начале, чтобы привести массив байтов в качестве растрового изображения для ваших целей обработки.
Camera.Parameters parameters = camera.getParameters();
int width = parameters.getPreviewSize().width;
int height = parameters.getPreviewSize().height;
ByteArrayOutputStream outstr = new ByteArrayOutputStream();
Rect rect = new Rect(0,0, width, height);
YuvImage yuvimage=new YuvImage(data,ImageFormat.NV21,width,height,null);
yuvimage.compressToJpeg(rect, 100, outstr);
Bitmap bmp = BitmapFactory.decodeByteArray(outstr.toByteArray(), 0, outstr.size());