【发布时间】:2020-02-04 09:53:29
【问题描述】:
我正在使用camera2 api,基于 Google 示例。
在我的设备上工作正常,但在模拟器(可能还有其他一些设备)上不能工作。
原因CaptureResult.CONTROL_AF_STATE 处于状态CaptureResult.CONTROL_AF_STATE_INACTIVE。
部分代码(与谷歌示例相同)
case STATE_WAITING_LOCK: {
Integer afState = result.get(CaptureResult.CONTROL_AF_STATE);
if (afState == null) {
captureStillPicture();
} else if (CaptureResult.CONTROL_AF_STATE_FOCUSED_LOCKED == afState ||
CaptureResult.CONTROL_AF_STATE_NOT_FOCUSED_LOCKED == afState) {
// CONTROL_AE_STATE can be null on some devices
Integer aeState = result.get(CaptureResult.CONTROL_AE_STATE);
if (aeState == null ||
aeState == CaptureResult.CONTROL_AE_STATE_CONVERGED) {
mState = STATE_PICTURE_TAKEN;
captureStillPicture();
} else {
runPrecaptureSequence();
}
}
break;
}
我们可以看到状态是否为INACTIVE 没有任何反应。
恐怕这不仅会发生在模拟器上,所以即使AUTO FOCUS STATE INACTIVE,我的问题也不安全拍照?以及如何处理?
【问题讨论】:
标签: android android-camera android-camera2