阅读 52

Android CameraX Not bound to a valid Camera

造成这个原因的是

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

原文:https://www.cnblogs.com/riyueqian/p/14639295.html

文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 gxwowoo@163.com 举报,一经查实,本站将立刻删除。
相关推荐