首页 > 解决方案 > 如何聆听 cameraX 镜头朝向的变化

问题描述

camerax 是否为镜头朝向更改回调提供 api?切换面向镜头的相机后,我希望在完成更换并且相机可以使用时收到通知。

目前我正在使用camerax的这个依赖项

implementation "androidx.camera:camera-lifecycle:1.0.0-beta01"
implementation "androidx.camera:camera-view:1.0.0-alpha08"
implementation "androidx.camera:camera-extensions:1.0.0-alpha08"

标签: androidandroid-camera2android-camerax

解决方案


听起来您需要一个信号来指示相机何时开始发射帧。例如,您可以在预览用例上使用Camera2Interop和设置 a 。CaptureCallback在使用你想要的镜头朝向绑定预览用例后CameraSelector,你可以监听何时onCaptureCompleted()被调用,这应该会给你一个相机已经启动的信号。

val builder = Preview.Builder()
Camera2Interop.Extender(builder).setSessionCaptureCallback(object: CameraCaptureSession.CaptureCallback() {
   override fun onCaptureCompleted(session: CameraCaptureSession, request: CaptureRequest, result: TotalCaptureResult) {
      // Camera will start emitting frames
   }
})
val preview = builder.build()

推荐阅读