1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

CameraXでオートフォーカスが停止する

Last updated at Posted at 2022-06-02

CameraXで継続的なオートフォーカスが停止する問題

AndroidのCameraXを利用していて何かをきっかけに継続的に動作しているオートフォーカスが停止してしまうことがありました。特に背面カメラでプレビューしている時にカメラを下に伏せて置いた後、持ち上げるとプレビューがぼやけたまま停止するケースが頻度が高いように感じました。
もしかするとスマホ(GalaxyS9)に依存した問題なのかもしれませんが、問題が解消した方法を共有しておきます。

CameraFragment.kt
@SuppressLint("UnsafeOptInUsageError") // ←追記
private fun bindCameraUseCases() {

    // 以上省略

    // A variable number of use-cases can be passed here -
    // camera provides access to CameraControl & CameraInfo
    camera = cameraProvider.bindToLifecycle(
            this, cameraSelector, preview, imageCapture, imageAnalyzer)

    // ここから追加
    val camera2CameraControl = Camera2CameraControl.from(camera!!.cameraControl)
    // dynamically changes the parameters.
    camera2CameraControl.captureRequestOptions =
        CaptureRequestOptions.Builder()
            .setCaptureRequestOption(
                CaptureRequest.CONTROL_AF_MODE,
                CameraMetadata.CONTROL_AF_MODE_CONTINUOUS_VIDEO
            ).build()
    // ここまで追加
    // 以下省略

元にしたプロジェクト

以下のCameraXBasic

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?