首页 > 解决方案 > Android Camera 2 API - 加速预览

问题描述

我正在 Android 设备上的 TextureView 上预览 USB 摄像头。我观察到渲染速度很慢。

场景是 - 有一个物体(比如一个瓶子),相机被聚焦。有彩灯(白、红、黄等)。我通过一一切换灯光来拍摄物体的照片。假设我打开任何灯,那么预览需要大约 2 秒才能反映对象上的颜色变化。

下面是代码。

SurfaceTexture texture = textureView.getSurfaceTexture();
assert texture != null;
Surface surface = new Surface(texture);
CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
texture.setDefaultBufferSize(viewWidth,viewHeight);
CameraCharacteristics characteristics = manager.getCameraCharacteristics(cameraId);
captureRequestBuilder = cameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_STILL_CAPTURE);
captureRequestBuilder.set(CaptureRequest.CONTROL_SCENE_MODE, CaptureRequest.CONTROL_SCENE_MODE_ACTION);
captureRequestBuilder.set(CaptureRequest.CONTROL_SCENE_MODE,CaptureRequest.CONTROL_SCENE_MODE_HDR);
captureRequestBuilder.set(CaptureRequest.EDGE_MODE,CaptureRequest.EDGE_MODE_ZERO_SHUTTER_LAG);
captureRequestBuilder.set(CaptureRequest.CONTROL_AF_MODE, CaptureRequest.CONTROL_AF_MODE_OFF);
captureRequestBuilder.addTarget(surface);

标签: androidperformanceandroid-camera2

解决方案


我认为如果你使用TEMPLATE_PREVIEW而不是TEMPLATE_STILL_CAPTURE.


推荐阅读