我正在尝试修改android-Camera2Basic代码以捕获一连串的图片。但是,在运行L 5.0.1的Nexus
5上,图片之间的延迟不会超过200-300ms。
我已经尝试了很多东西,但这是最基本的。这是我修改过的Camera2Basic代码的唯一部分。我的预览TextureView只有50x50dp,但这没关系,对吧?
就其价值而言,此代码在我的Nexus 6(带有L 5.1)上仅能延迟50-100毫秒。
private void captureStillPicture() {
try {
List captureList = new ArrayList();
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();
}
};