見出し画像

【Androidアプリ開発】CameraXで最大解像度で撮る時の仕様が変わってた件

カメラアプリ開発時にデバイスの最大解像度する処理に気づいた件
【Androidアプリ開発】CameraXで最大解像度にならない問題が解決

あれから半年ちょっと、

CameraX APIも更新されていたので、
他の作業のついでに更新しとくか?

と思い、更新すると、

例の最大解像度の処理がエラー。

また、ここ?
とは思いつつ。

今回わ割とすぐ解決。

ちなみに今回のcamera X APIは、1.4.0-beta02

def camerax_version = "1.4.0-beta02"

修正した点は下のimportと、

import static androidx.camera.core.resolutionselector.ResolutionSelector.PREFER_HIGHER_RESOLUTION_OVER_CAPTURE_RATE;

以前は、こんな感じだった処理を、

    // ImageCapture
    imageCapture = new ImageCapture.Builder()
           .setResolutionSelector(
                 new ResolutionSelector.Builder()
                            .setHighResolutionEnabledFlag(HIGH_RESOLUTION_FLAG_ON)
                            .build()
           )
           // 最大品質に設定
           .setCaptureMode(ImageCapture.CAPTURE_MODE_MAXIMIZE_QUALITY)
           .build();

今回は、こんな感じに修正するだけ、

     // ImageCapture
     imageCapture = new ImageCapture.Builder()
            .setResolutionSelector(
                  new ResolutionSelector.Builder()
                             .setAllowedResolutionMode(PREFER_HIGHER_RESOLUTION_OVER_CAPTURE_RATE)
                             .build()
            )
            // 最大品質に設定
            .setCaptureMode(ImageCapture.CAPTURE_MODE_MAXIMIZE_QUALITY)
            .build();

ちょっとついでにAPI更新するつもりが、
なんだかんだでひと手間増えたりする。。


この記事が気に入ったらサポートをしてみませんか?