Android: запись видео с «непрерывным» автофокусом - PullRequest
6 голосов
/ 13 октября 2011

работаю над видеозаписью;все работает, кроме запроса непрерывного фокуса.Это то, что я делаю (пробовал и в SurfaceCreated, и SurfaceChanged безуспешно):

camera = Camera.open();
camera.setPreviewDisplay(holder);

Parameters parameters = camera.getParameters();

, затем я делаю либо

parameters.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);

, либо

parameters.set("focus-mode", "continuous-video");

обадолжен сделать то же самое;затем я устанавливаю параметры с помощью

camera.setParameters(parameters);

Эта последняя строка всегда вылетает!Так я что-то пропускаю?

Кстати, я тестирую на довольно новых устройствах, таких как Desire HD, Galaxy S, Galaxy Tab 7 и 10.1, которые должны иметь поддержку непрерывной автофокусировки;по крайней мере, их встроенные приложения камеры поддерживают это.

Ответы [ 2 ]

5 голосов
/ 16 августа 2012

Вы должны проверить, поддерживает ли устройство непрерывную автофокусировку.Это то, что работает для меня, пожалуйста, попробуйте.

boolean startContinuousAutoFocus() {

    Camera.Parameters params = mCamera.getParameters();

    List<String> focusModes = params.getSupportedFocusModes();

    String CAF_PICTURE = Parameters.FOCUS_MODE_CONTINUOUS_PICTURE, 
           CAF_VIDEO = Parameters.FOCUS_MODE_CONTINUOUS_VIDEO, 
           supportedMode = focusModes
                   .contains(CAF_PICTURE) ? CAF_PICTURE : focusModes
                   .contains(CAF_VIDEO) ? CAF_VIDEO : "";

    if (!supportedMode.equals("")) {

        params.setFocusMode(supportedMode);
        mCamera.setParameters(params);
        return true;
    }

    return false;
}
4 голосов
/ 17 октября 2011

Хорошо, у меня есть своего рода решение этой проблемы: я смог вручную сфокусировать камеру, вызвав Camera # autoFocus (...).

У этого все еще есть серьезные проблемы. Во-первых, вызов автофокуса во время съемки видео не работает на некоторых устройствах Samsung. Также не стоит заставлять пользователей вручную фокусировать камеру во время записи видео.

Так что, если бы вы смогли обычно сфокусировать видео во время записи - ваш совет был бы очень полезен.

...