> For the complete documentation index, see [llms.txt](https://docs.facephi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.facephi.com/docs.facephi-pt-br/produtos/idv-suite/flujos-and-integraciones/configuracion-tecnica-del-cliente/sdk-mobile/android-sdk/componentes-modulos/video-grabacion.md).

# Gravação de vídeo

## Introdução <a href="#id-1-introduccion" id="id-1-introduccion"></a>

A gravação de vídeo da tela é realizada com o ***VideoRecording Component***.

Este componente é responsável por capturar a tela do dispositivo em segundo plano. Ele é voltado principalmente para a gravação do processo de Onboarding.

***

## Dependência <a href="#id-2-dependencia" id="id-2-dependencia"></a>

A dependência específica do componente é:

```
implementation "com.facephi.androidsdk:video_recording_component:$version"
```

***

## Controladores disponíveis <a href="#id-3-controladores-disponibles" id="id-3-controladores-disponibles"></a>

| **Controlador**               | **Descrição**                                            |
| ----------------------------- | -------------------------------------------------------- |
| FVideoRecordingController     | Controlador principal de Gravação de Vídeo.              |
| FStopVideoRecordingController | Controlador para realizar a parada da Gravação de Vídeo. |

### Recepção de erros <a href="#id-61-recepcion-de-errores" id="id-61-recepcion-de-errores"></a>

Os erros serão retornados como um objeto 'VideoRecordingError'.

Lista de erros:

<details>

<summary>Lista de erros de Gravação de Vídeo:</summary>

* VRC\_CANCEL\_BY\_USER: O usuário cancelou o processo
* VRC\_COMPONENT\_LICENSE\_ERROR: A licença do componente não está correta
* VRC\_EMPTY\_LICENSE: A String de licença está vazia
* VRC\_INITIALIZATION\_ERROR: Erro de Inicialização
* VRC\_OPERATION\_NOT\_CREATED: Não há nenhuma operação em andamento
* VRC\_NETWORK\_CONNECTION: Erro na conexão com a internet
* VRC\_PERMISSION\_ERROR: O usuário rejeitou as permissões necessárias. Com `enableAudio=true` também cobre a negação ou o fechamento da permissão de microfone e a rejeição da permissão de `MediaProjection`.
* VRC\_SOCKET\_ERROR: Erro na conexão dos serviços
* VRC\_UNKNOWN\_ERROR: Erro desconhecido
* VRC\_VIDEO\_CALL\_ACTIVE: Não é possível iniciar porque há uma Videochamada ativa
* VRC\_VIDEO\_ERROR: Erro no processamento do vídeo
* VRC\_VIDEO\_RECORDING\_ACTIVE: Não é possível iniciar porque o processo de Gravação de Vídeo está ativo
* VRC\_FETCH\_DATA\_ERROR: Erro na coleta do resultado

</details>

## Configuração avançada <a href="#id-7-configuracion-avanzada" id="id-7-configuracion-avanzada"></a>

O controlador utiliza `VideoRecordingConfigurationData` para configurar a conexão com o serviço de vídeo e o comportamento da gravação:

* `url`: Caminho para o socket de vídeo. Normalmente é obtido da licença, exceto em ambientes OnPremise.
* `apiKey`: Chave necessária para a conexão com o socket de vídeo.
* `tenantId`: Identificador do tenant do cliente.
* `enableAudio`: Ativa a captura de áudio durante a gravação de tela. Por padrão `false`. Se for informado como `true`, o Android solicita `RECORD_AUDIO` antes da permissão de `MediaProjection`; se o usuário negar ou fechar a permissão, o componente retorna `VRC_PERMISSION_ERROR`.

## Recebimento do resultado correto - *data* <a href="#id-8-recepcion-del-resultado-correcto-data" id="id-8-recepcion-del-resultado-correcto-data"></a>

Em caso de sucesso, `data` contém um `VideoRecordingResult`.

* `state`: Estado da gravação. `SHARING` indica que a gravação fica iniciada e `FINISH` indica que foi interrompida corretamente.
