Captura de voz - VoiceID
Introdução
A Captura Facial é realizada com o Componente de voz.
Este componente é responsável por realizar a captura de voz do usuário e a extração posterior dos templates correspondentes. Seus principais processos são:
Gerenciamento interno do microfone e das permissões.
Entrada de um certo número de frases para depois ler cada uma em uma etapa.
Análise dos silêncios.
Análise do progresso.
Assistente nos processos de captura.
Geração dos templates com as características da voz e pontuações.
Na seção de Lançamento simplificado são detalhados os passos necessários para a integração básica do SDK. Nesta seção é adicionada a informação para o lançamento deste componente.
Dependência
A dependência específica do componente é:
implementation "com.facephi.androidsdk:voice_component:$version"Controladores disponíveis
Controlador
Descrição
VoiceController
Controlador principal de captura de voz
Lançamento simplificado
Uma vez iniciado o SDK e criada uma nova operação, será possível lançar o componente. Será possível fazer uso de qualquer um de seus controladores para executar sua funcionalidade.
Lançamento da captura:
Configuração básica
Para iniciar o componente atual, deverá ser criado um objeto VoiceConfigurationData que será a configuração do controlador do componente.
A configuração básica necessária é a seguinte:
É possível editar a lista de frases que serão exibidas ao usuário.
Recebimento do resultado
O lançamento retornará as informações no formato SdkResult. Podendo diferenciar-se entre um lançamento correto e um incorreto:
Recebimento de erros
Os erros serão retornados como um objeto 'VoiceError'.
Lista de erros:
VOC_ACTIVITY_RESULT_MSG_ERROR: O resultado da atividade está incorreto
VOC_APPLICATION_CONTEXT_ERROR: O contexto de aplicação necessário é nulo
VOC_CANCEL_BY_USER: O usuário cancelou o processo
VOC_CANCEL_LAUNCH: Foi feito um cancelamento geral do SDK
VOC_COMPONENT_LICENSE_ERROR: A licença do componente não está correta
VOC_EMPTY_LICENSE: A String de licença está vazia
VOC_FETCH_DATA_ERROR: Erro na coleta do resultado
VOC_FLOW_ERROR: Erro no processo de flow
VOC_INITIALIZATION_ERROR: Erro de inicialização
VOC_INTERNAL_LICENSE_ERROR: Erro interno relacionado à licença
VOC_MANAGER_NOT_INITIALIZED: Os gerenciadores estão nulos
VOC_NO_DATA_ERROR: Os dados de entrada estão nulos
VOC_OPERATION_NOT_CREATED: Não há nenhuma operação em curso
VOC_PERMISSION_DENIED: O usuário recusou as permissões
VOC_TIMEOUT: Timeout no processo
Recebimento do resultado correto - data
Na parte de SdkResult.Success - data, teremos a classe VoiceResult.
Os campos retornados no resultado são os seguintes:
audios
Contém uma lista de áudios capturados em formato ByteArray.
tokenizedAudios
Contém a lista de áudios capturados em formato tokenizado da Facephi.
Informações avançadas
Esta seção amplia as informações do componente.
Configuração avançada do componente
Para iniciar o componente atual, deverá ser criado um objeto VoiceConfigurationData que será a configuração do controlador do componente.
A seguir, estão detalhados todos os campos que fazem parte desta classe.
phrases: Indica a(s) frase(s) necessária(s) para capturar..vibrationEnabled: Indica a ativação da vibração quando o Widget terminar com sucesso.showTutorial: Indica se o componente ativa a tela de tutorial. Nesta visualização, é explicado de forma intuitiva como a captura é realizada.extractionTimeout: Define o tempo máximo que a captura pode ser realizada.showDiagnostic: Mostra telas de diagnóstico ao final do processo.enableQualityCheck: Ativa ou desativa a verificação de qualidade do áudio. Recomenda-se mantê-la sempre ativa.showPreviousTip: Mostra uma tela prévia ao lançamento da captura com informações sobre o processo a ser realizado e um botão para o lançamento.
Personalização do componente
Além das alterações que podem ser feitas no nível do SDK (as quais são explicadas no documento de Personalização do SDK), este componente específico permite a modificação de sua interface.
Textos
Os textos podem ser personalizados adicionando um arquivo XML de recursos no aplicativo cliente e substituindo os valores padrão.
Animações
Se desejar modificar as animações (lottie) do SDK, é preciso incluir as animações com o mesmo nome na pasta res/raw/ da aplicação.
Views externas
É possível modificar completamente as telas do componente mantendo sua funcionalidade e navegação. Para isso, devem ser implementadas as interfaces a seguir:
Tela de dica prévia:
Tela de diagnóstico de erro:
Telas de captura:
Uma vez criadas as classes que implementam as interfaces, no lançamento do componente será possível adicionar o parâmetro "customViews" para que sejam usadas no SDK.
Atualizado