我正在尝试修改android-Camera2Basic代码以捕获一系列图片。然而,在运行L 5.0.1的Nexus 5上,我无法让图片之间的延迟快于200-300ms。
我已经尝试了很多方法,但这是最基本的。这是我修改的Camera2Basic代码的唯一部分。我的预览TextureView只有50x50dp,但那应该没关系,对吗?
值得一提的是,在我的Nexus 6上,运行L 5.1,这个代码只有大约50-100ms的延迟。
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();
}
};