Когда был выпущен Android 9 (API 28), я был очень рад обнаружить, что физические камеры телефонов с несколькими камерами будут выставлены, я был очень разочарован тем, что не смог получить к ним доступ. Сегодня наткнулся на андроид Q документация которая гласит:
Начиная с уровня API 29, некоторые или все физические камеры могут не подвергаться независимому воздействию приложения, и в этом случае идентификаторы физических камер не будут доступны в CameraManager.getCameraIdList (). Но приложение все еще может запрашивать характеристики физических камер, вызывая CameraManager.getCameraCharacteristics (String).
Это утверждение смущает меня, означает ли это, что Android возвращается? Какова цель изменения?
Меня интересует управление камерами на очень хорошем уровне, помешает ли это изменение сделать то, что я могу сделать сегодня с Android 9?
В нем говорится, что идентификаторы могут отсутствовать в списке, но характеристики все еще могут быть запрошены. Как мы можем получить характеристики камер, не имея их идентификаторов? Я предполагаю, что мы должны получить физические идентификаторы камер через getPhysicalCameraIds()
на логических камерах, но означает ли это, что если мы хотим использовать «скрытую» камеру, нам придется протестировать несколько случайных строк идентификаторов?
И сможем ли мы по-прежнему создавать сеансы захвата с SessionConfiguration на физических камерах, которые не экспонируются?
Может кто-нибудь пролить свет на это?