Sto cercando di modificare il codice Android-Camera2Basic per catturare una raffica di immagini. Tuttavia, non riesco a ottenere il ritardo tra le immagini più veloce di 200-300 ms sul mio Nexus 5, con L 5.0.1.Android burst di acquisizione camera2 è troppo lento
Ho provato un sacco di cose, ma questo è il più semplice. Questa è l'unica parte del codice Camera2Basic che ho modificato. La mia anteprima TextureView è solo 50x50dp, ma non dovrebbe essere importante, giusto?
Per quello che vale, questo codice ha solo ritardi intorno a 50-100 ms sul mio Nexus 6, con L 5.1.
private void captureStillPicture() {
try {
List<CaptureRequest> captureList = new ArrayList<CaptureRequest>();
mPreviewRequestBuilder.addTarget(mImageReader.getSurface());
for (int i=0;i<10;i++) {
captureList.add(mPreviewRequestBuilder.build());
}
mCaptureSession.stopRepeating();
mCaptureSession.captureBurst(captureList, cameraCaptureCallback, null);
mPreviewRequestBuilder.removeTarget(mImageReader.getSurface());
} catch (CameraAccessException e) {
e.printStackTrace();
}
}
CameraCaptureSession.CaptureCallback cameraCaptureCallback = new CameraCaptureSession.CaptureCallback() {
@Override
public void onCaptureCompleted(CameraCaptureSession session, CaptureRequest request,
TotalCaptureResult result) {
Log.d("camera","saved");
mPictureCounter++;
if (mPictureCounter >= 10)
unlockFocus();
}
};
acheroncaptain Puoi allegare un codice come hai implementato la modalità burst? – user0770