Перепривязка сценариев использования CameraXAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Перепривязка сценариев использования CameraX

Сообщение Anonymous »

Я пытаюсь остановить/приостановить просмотр предварительного просмотра камеры во время обработки/обнаружения изображения с помощью Firebase MLKit. Чтобы приостановить просмотр, я звоню

cameraProvider.unbind(previewUseCase)


Это останавливает предварительный просмотр на последнем кадре, но теперь я не знаю, как его возобновить. Я попробовал просто привязать предварительный просмотр еще раз, вот так

cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview)


Но это приводит к тому, что PreviewView просто отображается белым, как будто его больше нет, и невозможно вернуть его, пока не перезапустите приложение.
То же самое происходит, когда я вызываю unbindAll()

Поэтому мой вопрос заключается в том, как мне приостановить просмотр предварительного просмотра, а затем перезапустить его еще раз позже?

это мой код

fun setupCamera(windowManager: WindowManager, previewView: PreviewView){

_cameraProvider = _cameraProviderFuture.get()

_preview = Preview.Builder()
.setTargetRotation(windowManager.defaultDisplay.rotation)
.build()

_preview.setSurfaceProvider(previewView.previewSurfaceProvider)

_cameraSelector = CameraSelector.Builder()
.requireLensFacing(_requiredCameraLens)
.build()

_imageAnalyzer = ImageAnalysis.Builder()
.setTargetResolution(Size(_imageWidth, _imageHeight))
.setBackpressureStrategy(_imageBackpressureStrategy)
.build()

_imageAnalyzer.setAnalyzer(_imageExecutor,_analyzer)

startPreview()

_cameraProvider.bindToLifecycle(_lifecycleOwner, _cameraSelector, _imageAnalyzer)
}

// Called after image processing has finished
fun startPreview(){
_cameraProvider.bindToLifecycle(_lifecycleOwner, _cameraSelector, _preview)
}

// Called when object is detected in an image
fun stopPreview(){
_cameraProvider.unbind(_preview)
}


Подробнее здесь: https://stackoverflow.com/questions/603 ... x-usecases
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»