Android Camera2 Output sizes

后端 未结 2 1763
执笔经年
执笔经年 2020-12-30 10:32

I have tested new Camera2 API on Android Lollipop. I want to fetch supported preview size:

StreamConfigurationMap streamConfigurationMap = cameraCharacterist         


        
相关标签:
2条回答
  • 2020-12-30 11:00

    As @Alex Cohn said it depends on the manufacturers to embrace Camera API2.

    You can check if the Camera API2 is supported with camCharacteristics.get(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL); returning an int corresponding to the level of support for Camera API2. If the level you get is equal to CameraMetadata.INFO_SUPPORTED_HARDWARE_LEVEL_LEGACYbasically your phone manufacturer does not support Camera API2.

    --> As a consequence the SCALER_STREAM_CONFIGURATION_MAP may return different resolutions than the ones accessible with Camera API1. This is the reason why you get

    the maximum preview size is 1440x1080px

    What really shocks me it that the question was asked 4 years ago... and there are still manufacturers that did not care to upgrade to Camera API2. While Camera API2 gives you much more features, maybe Camera API1 is not dead after all.

    Would be nice to have some fragmentation information, at least to know how many devices you actually target if you use Camera API2 (it's not all the Android L and above because of the LEGACY support, developers deserve to know that)

    0 讨论(0)
  • 2020-12-30 11:14

    replace

    Size[] sizes = streamConfigurationMap.getOutputSizes(SurfaceTexture.class);
    

    to

    Size[] sizes = streamConfigurationMap.getOutputSizes(ImageFormat.JPEG)
    
    0 讨论(0)
提交回复
热议问题