如何聆听cameraX镜头面对的变化
How to listen to the cameraX lens facing changes
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"
听起来你需要一个信号来指示相机何时开始发射帧。例如,您可以使用 Camera2Interop
并在预览用例上设置 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()
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"
听起来你需要一个信号来指示相机何时开始发射帧。例如,您可以使用 Camera2Interop
并在预览用例上设置 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()