Как переключиться на фронтальную камеру на CameraX? ⇐ Android
Как переключиться на фронтальную камеру на CameraX?
Я выполнил описанные здесь шаги, чтобы настроить CameraX, и теперь пытаюсь заставить работать кнопку фронтальной камеры.
Вот мой код установки:
частный предварительный просмотр lateinit var: предварительный просмотр частное развлечение startCamera() { // Создание объекта конфигурации для варианта использования видоискателя valviewConfig = PreviewConfig.Builder().apply { setLensFacing(CameraX.LensFacing.BACK) }.строить() // Создаем вариант использования видоискателя предварительный просмотр = предварительный просмотр (previewConfig) // Каждый раз, когда видоискатель обновляется, пересчитываем макет предварительный просмотр.setOnPreviewOutputUpdateListener { // Чтобы обновить SurfaceTexture, нам нужно удалить ее и добавить заново val родительский = viewFinder.parent как ViewGroup родитель.removeView(viewFinder) родитель.addView(viewFinder, 0) viewFinder.surfaceTexture = it.surfaceTexture обновлениеТрансформ () } // Привязываем варианты использования к жизненному циклу CameraX.bindToLifecycle(это, предварительный просмотр) } Когда пользователь нажимает кнопку «переключить», я перенастраиваю предварительный просмотр для использования передней камеры, а затем повторно инициализирую предварительный просмотр.
частное развлечение initSwitchButton(view: View) { switchButton = view.findViewById(R.id.switch_button) switchButton.setOnClickListener { valviewConfig = PreviewConfig.Builder().apply { setLensFacing(CameraX.LensFacing.FRONT) }.build() предварительный просмотр = предварительный просмотр (previewConfig) } } Однако при этом не происходит переключение на переднюю камеру. Что мне не хватает?
Я выполнил описанные здесь шаги, чтобы настроить CameraX, и теперь пытаюсь заставить работать кнопку фронтальной камеры.
Вот мой код установки:
частный предварительный просмотр lateinit var: предварительный просмотр частное развлечение startCamera() { // Создание объекта конфигурации для варианта использования видоискателя valviewConfig = PreviewConfig.Builder().apply { setLensFacing(CameraX.LensFacing.BACK) }.строить() // Создаем вариант использования видоискателя предварительный просмотр = предварительный просмотр (previewConfig) // Каждый раз, когда видоискатель обновляется, пересчитываем макет предварительный просмотр.setOnPreviewOutputUpdateListener { // Чтобы обновить SurfaceTexture, нам нужно удалить ее и добавить заново val родительский = viewFinder.parent как ViewGroup родитель.removeView(viewFinder) родитель.addView(viewFinder, 0) viewFinder.surfaceTexture = it.surfaceTexture обновлениеТрансформ () } // Привязываем варианты использования к жизненному циклу CameraX.bindToLifecycle(это, предварительный просмотр) } Когда пользователь нажимает кнопку «переключить», я перенастраиваю предварительный просмотр для использования передней камеры, а затем повторно инициализирую предварительный просмотр.
частное развлечение initSwitchButton(view: View) { switchButton = view.findViewById(R.id.switch_button) switchButton.setOnClickListener { valviewConfig = PreviewConfig.Builder().apply { setLensFacing(CameraX.LensFacing.FRONT) }.build() предварительный просмотр = предварительный просмотр (previewConfig) } } Однако при этом не происходит переключение на переднюю камеру. Что мне не хватает?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Ошибка CameraX в Android: невозможно открыть камеру «0» без разрешения камеры
Anonymous » » в форуме Android - 0 Ответы
- 48 Просмотры
-
Последнее сообщение Anonymous
-