Я пытаюсь использовать максимальное разрешение при съемке с использованием нового camera2
API. Прежде всего я пытаюсь получить доступные разрешения, используя следующий код:
Знаки:
CameraCharacteristics characteristics = mManager.getCameraCharacteristics(mCameraId);
StreamConfigurationMap streamMap =
characteristics.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP);
if (streamMap == null) {
throw new RuntimeException("StreamConfigurationMap is null. Should not happen.");
}
streamMap.getOutputSizes(ImageFormat.*); // I replaced the star with all possible values
Проблема заключается в том, что возвращается следующий список разрешений: [1280x960, 1088x1088, 640x480, 352x288, 176x144, 3264x1836, 3264x2448, 1280x720, 960x720, 720x480, 320x240, 1920x1080, 2400x1080, 1440x1080, 2576x1932, 3264x1468]
(самое большое значение3264x2448)
Однако при использовании приложения для стандартной камеры (Samsung A70) разрешение изображения на удивление больше, а именно: 4032x3024
.
Во время исследования я пытался загрузить множество приложений для камеры из магазиначтобы увидеть максимальное разрешение в этом случае, и все они вернули то же разрешение, что и мое, то есть: 3264x2448
.
Мой вопрос: как приложение Stock Camera может получить большее разрешение, чем остальные?