之前写过android.hardware.Camera入坑之旅,现在适配Camera2。Camera2相对于Camera,坑位更多。比如说,Camera通过下面方法设置任意自定义参数
/**
* Sets an integer parameter.
*
* @param key the key name for the parameter
* @param value the int value of the parameter
*/
public void set(String key, int value) {
put(key, Integer.toString(value));
}
但是Camera2却不能,必须设置已知的CaptureRequest或者底层支持的参数,否则就会直接挂掉,报Vendor不支持此参数。
1、拍照无法生成图片和缩略图
可能是由于缩略图大小设置太大导致的
builder.set(CaptureRequest.JPEG_THUMBNAIL_SIZE, viewSize);
2、addTarget和Arrays.asList的目标是一一对应的
mPreviewRequestBuilder.addTarget(surface);
mPreviewRequestBuilder.addTarget(mImageReader.getSurface());
// Here, we create a CameraCaptureSession for camera preview.
mCameraDevice.createCaptureSession(Arrays.asList(surface, mImageReader.getSurface()),
new CameraCaptureSession.StateCallback()