Как вы используете Textureview в качестве предварительного просмотра для CameraX [Java]

#java #android-camerax #textureview

Вопрос:

Я следовал руководствам по CameraX, которые все используют предварительный просмотр для отображения вывода камеры с помощью preview.setSurfaceProvider(PreviewView.createSurfaceProvider());

Как настроить предварительный просмотр для использования textureview вместо предварительного просмотра

Комментарии:

1. Могу я спросить, зачем вам нужно использовать TextureView? Предварительный просмотр использует TextureView внутренне. Правильное отображение предварительного просмотра не является тривиальным делом. Если вы хотите сделать это самостоятельно, вы можете взглянуть на исходный код PreviewView о том, как он обрабатывается. github.com/androidx/androidx/blob/androidx-main/camera/…

Ответ №1:

Вы можете указать, какое представление использовать в режиме предварительного просмотра между SurfaceView и TextureView. Перед настройкой surfaceProvider установите режим реализации

previewView.implementationMode = PreviewView.ImplementationMode.COMPATIBLE

Здесь previewView-это XML — идентификатор PreviewView. PreviewView.ImplementationMode.COMPATIBLE это для TextureView. После установки этого параметра предварительный просмотр будет использовать TextureView для отображения камеры.

Режим реализации для SurfaceView-это PreviewView.ImplementationMode.PERFORMANCE

Это совместимо с

 androidx.camera:camera-view:1.0.0-alpha22