问题描述
我遵循了 cameraX 上的指南,这些指南都使用 PreviewView 来显示相机输出
preview.setSurfaceProvider(PreviewView.createSurfaceProvider());
如何设置预览以使用纹理视图而不是预览视图
解决方法
您可以指定在 SurfaceView 和 TextureView 之间的 PreviewView 中使用哪个视图。 在设置surfaceProvider之前,先设置实现方式
previewView.implementationMode = PreviewView.ImplementationMode.COMPATIBLE
这里的 previewView 是 PreviewView 的 XML id。 PreviewView.ImplementationMode.COMPATIBLE
用于 TextureView。设置后,PreviewView 将使用 TextureView 来显示 Camera。
SurfaceView 的实现方式是PreviewView.ImplementationMode.COMPATIBLE
这与
兼容androidx.camera:camera-view:1.0.0-alpha22
对于这个版本,你需要改变
preview.setSurfaceProvider(PreviewView.createSurfaceProvider());
到 preview.setSurfaceProvider(previewView.getSurfaceProvider)