Android CameraX Not bound to a valid Camera

时间:2021-04-10 13:27:34   收藏:0   阅读:0

造成这个原因的是

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)
}
评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!