Captura de voz
Introducción
La captura facial se realiza con el Voice Component.
Este componente se encarga de realizar la captura de voz del usuario y la posterior extracción de las plantillas correspondientes. Sus principales procesos son:
Gestión interna del micrófono y permisos.
Entrada de cierto número de frases para posteriormente leer cada una en un paso.
Análisis de los silencios.
Análisis del progreso.
Asistente en los procesos de captura.
Generación de las plantillas con las características de la voz y puntuaciones.
En el apartado de Lanzamiento simplificado se detallan los pasos necesarios para la integración básica del SDK. En esta sección se añade la información para el lanzamiento de este componente.
Dependencia
La dependencia específica del componente es:
implementation "com.facephi.androidsdk:voice_component:$version"Controladores disponibles
Controlador
Descripción
VoiceController
Controlador principal de captura de voz
Lanzamiento simplificado
Una vez iniciado el SDK y creada una nueva operación se podrá lanzar el componente. Se podrá hacer uso de cualquiera de sus controladores para ejecutar su funcionalidad.
Lanzamiento de la captura:
Configuración básica
Para lanzar el componente actual, se deberá crear un objeto VoiceConfigurationData que será la configuración del controlador del componente.
La configuración básica necesaria para es la siguiente:
Se puede editar el listado de frases que se van a mostrar al usuario.
Recepción del resultado
El lanzamiento devolverá la información en formato SdkResult. Pudiendo diferenciarse entre un lanzamiento correcto y uno incorrecto:
Recepción de errores
Los errores se devolverán como un objeto 'VoiceError'.
Listado de errores:
VOC_ACTIVITY_RESULT_MSG_ERROR: El resultado de la actividad es incorrecto
VOC_APPLICATION_CONTEXT_ERROR: El contexto de aplicación necesario es nulo
VOC_CANCEL_BY_USER: El usuario ha cancelado el proceso
VOC_CANCEL_LAUNCH: Se ha hecho una cancelación general del SDK
VOC_COMPONENT_LICENSE_ERROR: La licencia del componente no es correcta
VOC_EMPTY_LICENSE: El String de licencia está vacío
VOC_FETCH_DATA_ERROR: Error en la recogida del resultado
VOC_FLOW_ERROR: Error en el proceso de flow
VOC_INITIALIZATION_ERROR: Error de inicialización
VOC_INTERNAL_LICENSE_ERROR: Error interno relacionado con la licencia
VOC_MANAGER_NOT_INITIALIZED: Los managers son nulos
VOC_NO_DATA_ERROR: Los datos de entrada son nulos
VOC_OPERATION_NOT_CREATED: No hay ninguna operación en curso
VOC_PERMISSION_DENIED: El usuario ha rechazado los permisos
VOC_TIMEOUT: Timeout en el proceso
Recepción del resultado correcto - data
En la parte de SdkResult.Success - data, dispondremos de la clase VoiceResult.
Los campos devueltos en el resultado son los siguientes:
audios
Contiene un listado de audios capturados en formato ByteArray.
tokenizedAudios
Contiene el listado de audios capturados en formato tokenizado de Facephi.
Información avanzada
Este apartado amplía la información del componente.
Configuración avanzada del componente
Para lanzar el componente actual, se deberá crear un objeto VoiceConfigurationData que será la configuración del controlador del componente.
A continuación se detallan todos los campos que forman parte de esta clase.
phrases: Indica la/las frases necesarias para capturar..vibrationEnabled: Indica la activación de la vibración cuando el widget termine satisfactoriamente.showTutorial: Indica si el componente activa la pantalla de tutorial. En esta vista se explica de forma intuitiva cómo se realiza la captura.extractionTimeout: Establece el tiempo máximo que se puede realizar la captura.showDiagnostic: Mostrar pantallas de diagnóstico al final del proceso.enableQualityCheck: Activa o desactiva la comprobación de calidad del audio. Se recomienda tenerla siempre activa.showPreviousTip: Muestra una pantalla previa al lanzamiento de la captura con información sobre el proceso a realizar y un botón para el lanzamiento.
Personalización del componente
Aparte de los cambios que se pueden realizar a nivel de SDK (los cuales se explican en el documento de Personalización del SDK), este componente en concreto permite la modificación de su interfaz.
Textos
Si se desea modificar los textos de la SDK habría que incluir el siguiente fichero XML en la aplicación del cliente, y modificar el valor de cada String por el deseado.
Name
Value
voice_component_tip_message
Habla claro y en voz alta. Asegúrate de estar en un entorno silencioso
voice_component_tip_message_alt
Habla claro y en voz alta. Asegúrate de estar en un entorno silencioso
voice_component_tip_title
Reconocimiento de voz
voice_component_tip_button
Comenzar
voice_component_tip_anim_alt
Animación en la que aparece una persona que sujeta el teléfono delante de su cara y habla directamente dirigiéndose a él.
voice_component_success_message
Grabación registrada
voice_component_speech_message
Habla claro y cercano al micrófono
voice_component_speech_more_message
Continúe hablando
voice_component_read_message
Di en voz alta:
voice_component_speech_noisy_message
Demasiado ruido. Busca un entorno silencioso
voice_component_success_records_message
grabaciones exitosas
voice_component_phrase_generic_error_message
Por favor, repite la frase.
voice_component_phrase_long_silence_message
Habla durante 2 segundos o más.
voice_component_phrase_long_reverberation_message
Demasiado eco. Prueba en otro entorno.
voice_component_quality_check_error_message
La calidad del audio es insuficiente.
voice_component_multiple_speakers_error_message
Se ha detectado voces de fondo. Asegúrate de estar en un entorno silencioso
voice_component_timeout_title
Tiempo superado
voice_component_timeout_desc
No hemos podido identificarte. Inténtalo de nuevo.
voice_component_internal_error_title
Hubo un problema técnico
voice_component_internal_error_desc
Pedimos disculpas. No se ha podido hacer la captura
voice_component_exit_alert_accept
Aceptar
voice_component_exit_alert_cancel
Cancel
voice_component_exit_alert_question
¿Seguro que finalizar el proceso?
voice_component_back_button_alt
Atrás
voice_component_close_button_alt
Cerrar
voice_component_logo_alt
Logo
Animaciones
Si se desea modificar las animaciones (lottie) de la SDK habría que incluir las animaciones con el mismo nombre en la carpeta res/raw/ de la aplicación.
Vistas externas
Es posible modificar completamente las pantallas del componente manteniendo su funcionalidad y navegación. Para ello deben implementarse los interfaces siguientes:
Pantalla de tip previo:
Pantalla de diagnóstico de error:
Pantallas de captura:
Una vez creadas las clases que implementan los interfaces, en el lanzamiento del componente se podrá añadir el parámetro "customViews" para que se utilicen en el SDK.
Last updated