Как проверить, есть ли у устройства поддержка ручного управления в camera2 API - PullRequest
0 голосов
/ 23 апреля 2019

Чтобы определить, есть ли у камеры поддержка ручного управления (ручная фокусировка, ISO, выдержка), я проверяю наличие следующих возможностей: CameraMetadata.REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR

Если этот флаг присутствует, только тогда я проверяю индивидуально любую поддержку ручного управления, проверяя их диапазоны и т. Д.

Но я только что обнаружил модель устройства, HUAWEI Mate 20 lite, которая сообщает, что у нее нет такой возможности, но есть поддержка ручного управления. И если я проигнорирую флаг возможности MANUAL_SENSOR, я смогу без проблем настроить и использовать ручное управление.

Что заставляет меня задаться вопросом, если для проверки поддержки ручного управления есть другой способ, или я просто неправильно понял, или в реализации этого устройства ОС может быть ошибка.

Обновление:

Для такого устройства (HUAWEI Mate 20 lite), проверка также для флага CameraMetadata.REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS возвращает, что устройство не имеет такой возможности, но если игнорировать этот флаг, значения ручных элементов управления могут быть скорректированы программно без проблем.

Это означает, что, если реализация этого устройства не содержит ошибок, на такие устройства нельзя полагаться на такие флаги возможностей, хотя я ожидаю, что мое беспокойство ошибочно, и я надеюсь, что это только то, что эта модель устройства не была правильно реализована.

...