CameraX cameraView 和 previewView

CameraX cameraView and previewView

camerax cameraView 和 previewView 有什么区别?因为我找不到关于比较 2 个视图以预览 camerax

的资源或文章

PreviewView 是一个自定义视图,可用于显示相机预览。您可以将它添加到您的 XML 布局,然后在您的 Activity/Fragment 中,将其与 Preview 用例连接起来以启动预览流。因此,在使用 PreviewView 时,您负责设置相机、创建 Preview 用例(以及您可能想要使用的其他用例),并将它们绑定到生命周期。您可以在 this article.

中阅读有关 PreviewView 及其工作原理的更多信息

CameraView 是一个可以做很多事情的自定义视图,它的构建是为了让用户通过在他们的 XML 布局中添加视图来快速设置 "camera app"。它允许在取景器上显示相机预览、拍照、录制视频、缩放 in/out,并提供不同的 API 来配置相机(镜头朝向、闪光灯、比例类型、捕获模式等)。它负责设置相机、绑定和解除绑定用例等等。需要注意的重要一点是,为了显示预览,它在内部使用 PreviewView。我在 CameraView 上的在线文章不多,不过我推荐 this one

如果您需要灵活地设置相机和 building/configuring 用例,或者如果您需要使用 ImageAnalysis 用例,那么 CameraView 可能不合适选择一起去。 PreviewView 旨在减轻设置和处理相机使用的预览表面以及处理显示预览(缩放、旋转、纵横比等)的困难部分的负担。