Android CameraX Not bound to a valid Camera

造成这个原因的是

imageCapture没有与相机设备进行绑定,下面是绑定的代码
val cameraProviderFuture: ListenableFuture<ProcessCameraProvider> = ProcessCameraProvider.getInstance(this)
val processCameraProvider = cameraProviderFuture.get()
processCameraProvider.bindToLifecycle(this, CameraSelector.DEFAULT_BACK_CAMERA, imageCapture)

本人所写的点击事件和初始化捕获的全部代码如下

//拍照
private fun onClick(){
val imagePath = Environment.getExternalStorageDirectory().absolutePath +"/downloads/test.jpg"
val file:File = File(imagePath);
val outputFileOptions = ImageCapture.OutputFileOptions.Builder(file).build()
//绑定摄像机
imageCapture!!.takePicture(outputFileOptions, ContextCompat.getMainExecutor(this),
object : ImageCapture.OnImageSavedCallback {
override fun onError(error: ImageCaptureException)
{
error.printStackTrace()
}
override fun onImageSaved(outputFileResults: ImageCapture.OutputFileResults) {

}
})
}

//捕获初始化
private fun capturePicture(){
imageCapture = ImageCapture.Builder()
.setCaptureMode(ImageCapture.CAPTURE_MODE_MAXIMIZE_QUALITY)
.build()
cameraProvider?.bindToLifecycle(lifecycleOwner!!,cameraSelector!!,
imageCapture,imageAnalysis,preview)
val cameraProviderFuture: ListenableFuture<ProcessCameraProvider> = ProcessCameraProvider.getInstance(this)
val processCameraProvider = cameraProviderFuture.get()
processCameraProvider.bindToLifecycle(this, CameraSelector.DEFAULT_BACK_CAMERA, imageCapture)
}

Android CameraX Not bound to a valid Camera

上一篇:顺序表的插入删除算法移动元素次数分析


下一篇:':app@debug/compileClasspath': Could not find any version that matches com.android.support:appcompat-v7:30.+.