0
У меня есть этот кусок кода (Только для экспериментов):Сохранение захваченного изображения
public void captureFromCam(View v) throws CameraAccessException {
try {
cm.openCamera("0", new CameraDevice.StateCallback(){
@Override
public void onClosed(CameraDevice camera) {
super.onClosed(camera);
}
@Override
public void onError(CameraDevice camera, int error) {
}
@Override
public void onOpened(final CameraDevice cam) {
Log.d("CameraApp", "Camera Opened");
ImageReader ir = ImageReader.newInstance(800, 600, 256, 1);
Surface surface = ir.getSurface();
final ArrayList<Surface> l = new ArrayList();
l.add(surface);
try {
cam.createCaptureSession(l, new CameraCaptureSession.StateCallback() {
@Override
public void onConfigured(CameraCaptureSession session) {
Log.e("CameraApp", "Configured");
CaptureRequest.Builder builder = null, b2;
try {
builder = cam.createCaptureRequest(CameraDevice.TEMPLATE_STILL_CAPTURE);
} catch (CameraAccessException e) {
e.printStackTrace();
}
builder.addTarget(l.get(0));
CaptureRequest request = builder.build();
try {
session.capture(request, new CameraCaptureSession.CaptureCallback() {
@Override
public void onCaptureCompleted(CameraCaptureSession session, CaptureRequest request, TotalCaptureResult result) {
Log.e("CameraApp", "Captured");
}
}, null);
} catch (CameraAccessException e) {
e.printStackTrace();
}
}
@Override
public void onConfigureFailed(CameraCaptureSession session) {
}
}, null);
} catch (CameraAccessException e) {
e.printStackTrace();
}
}
@Override
public void onDisconnected(CameraDevice camera) {
}
}, null);
} catch (CameraAccessException e) {
e.printStackTrace();
}
}
Интересная часть onCaptureCompleted
, как я понял результат как-то моя картина.
Как сохранить это изображение в файл? или если это не моя фотография, где моя фотография и как ее сохранить в файл?
Я знаю, что на этот вопрос был дан ответ, но это API 21, и он очень отличается от старого.