我正在尝试使用CameraX库使用前置摄像头捕获图像。 但是当启动相机时,预览只显示黑屏。 这是配置:

val previewConfig = PreviewConfig.Builder().apply {

setTargetResolution(Size(640, 480))

setLensFacing(CameraX.LensFacing.FRONT)

}.build()

preview = Preview(previewConfig)

preview.setOnPreviewOutputUpdateListener {

val parent = viewFinder.parent as ViewGroup

parent.removeView(viewFinder)

parent.addView(viewFinder, 0)

viewFinder.surfaceTexture = it.surfaceTexture

updateTransform()

}

val imageCaptureConfig = ImageCaptureConfig.Builder()

.apply {

setCaptureMode(ImageCapture.CaptureMode.MIN_LATENCY)

}.build()

imageCapture = ImageCapture(imageCaptureConfig)

val analyzerConfig = ImageAnalysisConfig.Builder().apply {

setImageReaderMode(

ImageAnalysis.ImageReaderMode.ACQUIRE_LATEST_IMAGE)

}.build()

analyzerUseCase = ImageAnalysis(analyzerConfig).apply {

setAnalyzer(executor, LuminosityAnalyzer())

}

CameraX.bindToLifecycle(this, preview, imageCapture)

但是,它与setLensFacing(CameraX.LensFacing.BACK)配合setLensFacing(CameraX.LensFacing.BACK) 。 另外,如果我从bindToLifeCyle方法中删除ImageCapture对象,则可以看到前置摄像头的预览。

CameraX.bindToLifecycle(this, preview, /*imageCapture*/)

请指教。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐