我试图修改android-Camera2Basic代码来捕获一连串的图片.但是,在运行L 5.0.1的Nexus 5上,我无法在200-300ms之间获得图片之间的延迟.
我尝试了很多东西,但这是最基本的.这是我修改过的Camera2Basic代码的唯一部分.我的预览TextureView只有50x50dp,但这不重要,对吧?
对于它的价值,这段代码在我的Nexus 6上只有50-100ms的延迟,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();
}
};
Run Code Online (Sandbox Code Playgroud)