For the complete documentation index, see llms.txt. This page is also available as Markdown.

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