Android Camera2 Оптическая Стабилизация - PullRequest
1 голос
/ 03 марта 2020

Я занимаюсь разработкой android приложения для захвата видео и использую камеру camera2 api. У меня проблемы с опцией оптической стабилизации.

в одном устройстве с этими данными:

  • Модель: SM-G950F
  • Продукт: dreamltexx
  • Бренд: samsung
  • Устройство: dreamlte
  • Версия-релиз: 9

    характеристика.get (CameraCharacteristics.LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION)

результат:

[LENS_OPTICAL_STABILIZATION_MODE_ON, LENS_OPTICAL_STABILIZATION_MODE_OFF]

, но в другом устройстве с этими данными:

  • Модель: SM- G950W
  • Продукт: dreamqltevl
  • Бренд: Samsung
  • Устройство: dreamqltecan
  • Версия-выпуск: 9

    Характеристики. get (CameraCharacteristics.

    private fun chooseStabilizationMode(builder: CaptureRequest.Builder?) {
        val availableOpticalStabilization = characteristics.get(CameraCharacteristics.LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION)
        if (availableOpticalStabilization != null) {
            for (mode in availableOpticalStabilization) {
                if (mode == CaptureRequest.LENS_OPTICAL_STABILIZATION_MODE_ON) {
                    builder?.set(CaptureRequest.LENS_OPTICAL_STABILIZATION_MODE, CaptureRequest.LENS_OPTICAL_STABILIZATION_MODE_ON)
                    builder?.set(CaptureRequest.CONTROL_VIDEO_STABILIZATION_MODE, CaptureRequest.CONTROL_VIDEO_STABILIZATION_MODE_OFF)
                    showToast("Using optical stabilization.")
                    return
                }
            }
        }
    
        // If no optical mode is available, try software.
        val availableVideoStabilization = characteristics.get(CameraCharacteristics.CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES)
        for (mode in availableVideoStabilization) {
            if (mode == CaptureRequest.CONTROL_VIDEO_STABILIZATION_MODE_ON) {
                builder?.set(CaptureRequest.CONTROL_VIDEO_STABILIZATION_MODE, CaptureRequest.CONTROL_VIDEO_STABILIZATION_MODE_ON)
                builder?.set(CaptureRequest.LENS_OPTICAL_STABILIZATION_MODE, CaptureRequest.LENS_OPTICAL_STABILIZATION_MODE_OFF)
                showToast("Using video stabilization.")
                return
            }
        }
    
        showToast("Stabilization not available.")
    }
    
    * 1 053 * в одном S8 сказать «Использование оптической стабилизации». а другой S8 говорит: «Стабилизация недоступна».

    Кто-нибудь может мне помочь понять это?

    Заранее спасибо.

...