Camera2 CaptureResult.CONTROL_AF_STATE - НЕАКТИВНО - PullRequest
0 голосов
/ 04 февраля 2020

Я использую camera2 API, основываясь на примере Google. Отлично работает на моем устройстве, но не работает на эмуляторе (и, возможно, на некоторых других устройствах).

Причина CaptureResult.CONTROL_AF_STATE в состоянии CaptureResult.CONTROL_AF_STATE_INACTIVE.

Часть кода ( идентично примеру Google)

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? и что с этим делать?

...