Автофокус камеры Android, когда пользователь неподвижен - PullRequest
5 голосов
/ 08 сентября 2011

Я уверен, что большинство из вас раньше пользовались телефоном для Android и сделали снимок.Всякий раз, когда пользователь меняет положение мобильного телефона и удерживает его в устойчивом положении, камера фокусируется автоматически.Мне трудно воспроизвести это в моем приложении.Метод autofocus () вызывается только один раз при запуске приложения.В течение последних 3 дней я искал решение и, читая документацию Google, наткнулся на вызовы метода датчика (например, когда пользователь наклоняет мобильное устройство вперед или назад).Я мог бы использовать этот API для достижения того, что мне нужно, но он звучит слишком грязно и слишком сложно.Я уверен, что есть и другой способ.

Все примеры в Интернете, которые я нашел, фокусируются только тогда, когда пользователь нажимает на экран или кнопку.Я также прошел несколько вопросов по SO, чтобы найти то, что я ищу, но мне это не удалось.Я видел этот вопрос, и эта строка не совместима с моим телефоном.По какой-то причине единственные режимы фокусировки, которые я могу использовать, являются фиксированными и автоматическими.

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

Ответы [ 2 ]

3 голосов
/ 09 мая 2012

С API 14 вы можете установить этот параметр

http://developer.android.com/reference/android/hardware/Camera.Parameters.html#FOCUS_MODE_CONTINUOUS_PICTURE

0 голосов
/ 08 сентября 2011

Да, camera.autoFocus(callback) - одноразовая функция.Вам нужно будет вызывать его в цикле, чтобы автофокусировка происходила непрерывно.Желательно, чтобы у вас было детектор движения с помощью акселерометра или компаса для обнаружения перемещения камеры.

...