Wenn Sie eine Aufnahme in Ihrem captureSession gemacht, wird der aktuelle Frame Capture und von der aktuellen Rückruf Associate auf Ihre Capture durch onCapturePictureComplete() -Methode gehen:
mCaptureSession.capture(mPhotoRequestBuilder.build(), YourCallback, null);
private CameraCaptureSession.CaptureCallback YourCallback = new CameraCaptureSession.CaptureCallback() {
@Override
public void onCaptureCompleted(@NonNull CameraCaptureSession session,
@NonNull CaptureRequest request,
@NonNull TotalCaptureResult result) {
//get the iso and time exposure from the picture
Integer iso = result.get(CaptureResult.SENSOR_SENSITIVITY);
long timeExposure = result.get(CaptureResult.SENSOR_EXPOSURE_TIME);
Log.i(TAG, "[mHdrCaptureCallback][HDR] Photo: " + mHdrIndex + " Exposure: " + timeExposure);
Log.i(TAG, "[mHdrCaptureCallback][HDR] Photo: " + mHdrIndex + " ISO " + iso);
}
};
In der Beispiel oben habe ich eine Aufnahme gemacht und wenn es abgeschlossen ist, ist der Capture-Rückruf Anruf. Dort drucke ich einfach die Werte von Belichtung und ISO aus dem Bildergebnis. Wenn Sie jedoch ein Bild aufnehmen, wird auch der OnImageAvailable Listener von Ihrem aktuellen ImageReader aufgerufen, und dort finden Sie den aktuellen Frame und das Bild zum Speichern.
Blick auf Ihrem Beispiel in Google:
/**
* This a callback object for the {@link ImageReader}. "onImageAvailable" will be called when a
* JPEG image is ready to be saved.
*/
private final ImageReader.OnImageAvailableListener mOnJpegImageAvailableListener
= new ImageReader.OnImageAvailableListener() {
@Override
public void onImageAvailable(ImageReader reader) {
dequeueAndSaveImage(mJpegResultQueue, mJpegImageReader);
}
};
/**
* This a callback object for the {@link ImageReader}. "onImageAvailable" will be called when a
* RAW image is ready to be saved.
*/
private final ImageReader.OnImageAvailableListener mOnRawImageAvailableListener
= new ImageReader.OnImageAvailableListener() {
@Override
public void onImageAvailable(ImageReader reader) {
dequeueAndSaveImage(mRawResultQueue, mRawImageReader);
}
};
Hoffnung, dass es Ihnen helfen wird, und jetzt wissen Sie, ein bisschen besser, wie das Bild Prozessarbeit mit camera2 speichern, lassen Sie mich wissen, wenn ich dich in etwas helfen kann sonst!