怎么正确配置CameraX
时间: 2023-11-26 07:02:39 浏览: 25
配置 CameraX 的步骤如下:
1. 在 app 的 build.gradle 文件中,添加以下依赖项:
```
dependencies {
def camerax_version = "1.0.0-beta01"
implementation "androidx.camera:camera-core:$camerax_version"
implementation "androidx.camera:camera-camera2:$camerax_version"
}
```
2. 在需要使用 CameraX 的 Activity 或 Fragment 中,添加以下权限:
```
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
```
3. 在需要使用 CameraX 的 Activity 或 Fragment 中,添加以下代码:
```
// 初始化 CameraX
val cameraProviderFuture = ProcessCameraProvider.getInstance(this)
cameraProviderFuture.addListener({
// 在主线程中获取 CameraProvider
val cameraProvider = cameraProviderFuture.get()
// 创建 Preview
val preview = Preview.Builder()
.build()
// 创建 ImageCapture
val imageCapture = ImageCapture.Builder()
.build()
// 绑定 Preview 和 ImageCapture 到生命周期
val cameraSelector = CameraSelector.DEFAULT_BACK_CAMERA
preview.setSurfaceProvider(viewFinder.createSurfaceProvider())
val imageCaptureConfig = ImageCaptureConfig.Builder()
.setTargetRotation(viewFinder.display.rotation)
.build()
imageCapture.bindToLifecycle(this, cameraSelector, imageCaptureConfig)
}, ContextCompat.getMainExecutor(this))
```
其中,`viewFinder` 是一个 `TextureView`,用于显示预览画面。可以按照以下方式在布局文件中添加:
```
<TextureView
android:id="@+id/viewFinder"
android:layout_width="match_parent"
android:layout_height="match_parent" />
```
4. 运行程序即可看到 CameraX 的预览画面。
注意,CameraX 目前处于 beta 阶段,API 可能会有较大变动。详细使用方法可以参考官方文档:https://developer.android.com/training/camerax