Съемка видео

Для старта записи видео используется метод startActivityForResult:

val intent = OzLivenessSDK.createStartIntent(listOf(OzAction.Smile, OzAction.Blank))
startActivityForResult(intent, REQUEST_CODE)

actions – перечень действий пользователя при записи видео.

Для представления Fragment код приведен ниже. LivenessFragmentFragment для экрана Liveness.

childFragmentManager.beginTransaction()
    .replace(R.id.content, LivenessFragment.create(actions))
    .commit()
// подписка на результат Fragment
childFragmentManager.setFragmentResultListener(OzLivenessSDK.Extra.REQUEST_CODE, this) { _, result ->
    when (result.getInt(OzLivenessSDK.Extra.EXTRA_RESULT_CODE)) {
        OzLivenessResultCode.SUCCESS -> { /* запуск анализа */ }
        else -> { /* вывод ошибки */ }  
    }
}

Для получения результатов записи видео используется метод onActivityResult:

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
  super.onActivityResult(requestCode, resultCode, data)
    if (requestCode == REQUEST_CODE) {
      sdkMediaResult = OzLivenessSDK.getResultFromIntent(data)
      sdkErrorString = OzLivenessSDK.getErrorFromIntent(data)
    }
}
  • sdkMediaResult – объект с результатами записи видео (OzAbstractMedia) для дальнейшего использования при взаимодействии с Oz API.

  • sdkErrorString – описание ошибок в случае их возникновения.

Если наш SDK используется только для съемки, пропустите шаг "Выполнение проверок".

Если пользователь прервет запись видео (закроет экран), resultCode примет значение Activity.RESULT_CANCELED.

Пример кода для обработки:

when (resultCode) {
    Activity.RESULT_CANCELED -> *USER CLOSED THE SCREEN*
    OzLivenessResultCode.SUCCESS -> {
        val sdkMediaResult = OzLivenessSDK.getResultFromIntent(data)
        *SUCCESS*
    }
    else -> {
        val errorMessage = OzLivenessSDK.getErrorFromIntent(data)
        *FAILURE*
    }
}

Last updated