CameraX从1.0.0-beta04升级至beta12后VideoCaptureConfig.Builder无法识别求助
解决CameraX升级到1.0.0-beta12后VideoCaptureConfig.Builder无法识别的问题
嘿,这个问题我刚好踩过坑!从CameraX 1.0.0-beta05版本开始,VideoCaptureConfig以及它的Builder就被官方废弃移除了,取而代之的是更简洁的VideoCapture.Builder来创建视频捕获实例。
你原来的代码可以直接改成下面这样:
// 用VideoCapture.Builder替代旧的VideoCaptureConfig.Builder videoCapture = VideoCapture.Builder() .setTargetRotation(binding.previewView.display.rotation) .setCameraSelector(cameraSelector) .setTargetAspectRatio(screenAspectRatio) .build()
额外补充说明:
- 如果需要设置视频分辨率、质量这类更细节的配置,可以通过
setVideoOutputConfig()传入VideoOutputConfig实例,比如:// 自定义视频输出配置,比如设置1080P分辨率 val videoOutputConfig = VideoOutputConfig.Builder() .setTargetResolution(Size(1920, 1080)) .build() videoCapture = VideoCapture.Builder() .setTargetRotation(binding.previewView.display.rotation) .setCameraSelector(cameraSelector) .setTargetAspectRatio(screenAspectRatio) .setVideoOutputConfig(videoOutputConfig) .build() - 记得确认你的gradle依赖已经同步升级到1.0.0-beta12,避免版本不一致的问题:
implementation "androidx.camera:camera-core:1.0.0-beta12" implementation "androidx.camera:camera-camera2:1.0.0-beta12" implementation "androidx.camera:camera-lifecycle:1.0.0-beta12" implementation "androidx.camera:camera-view:1.0.0-alpha19" // 用到PreviewView时需要这个依赖
改完之后Android Studio的标红就会消失啦,新API比旧的更简洁,也更贴合CameraX后续的设计逻辑~
内容的提问来源于stack exchange,提问作者abdullah celik




