我尝试使用camera2 API以约1秒的间隔拍摄10张。
我有以下createCaptureSession
来成功创建10个捕获请求,但是我在哪里添加间隔?
cameraDevice.createCaptureSession(outputSurfaces, new CameraCaptureSession.StateCallback() {
@Override
public void onConfigured(CameraCaptureSession session) {
try {
for (int i =0; i < 10;i++) {
session.capture(captureBuilder.build(), captureListener, null);
}
} catch (CameraAccessException e) {
e.printStackTrace();
}
}
@Override
public void onConfigureFailed(CameraCaptureSession session) {
System.out.println("ConfigurationFailed");
}
}, mBackgroundHandler);
答案 0 :(得分:0)
我使用Camare2Basic示例完成了此操作。
您必须修改lockFocus()
函数添加如下内容:
try {
Thread.sleep(CAPTURE_WAITING_TIME_MILISECOND);
} catch (InterruptedException e) {
e.printStackTrace();
}
onImageAvailable
如果图像数不是10,则需要致电takePicture()
。或者最好在ImageSaver
的回调中调用它。
间隔不能是准确的时间。它可能会根据处理时间而改变。
希望有所帮助