【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更新するつもりが、
なんだかんだでひと手間増えたりする。。