Skip to main content
Os setters de beleza retornam int. Compare com ErrorCode. A construção e processImage também podem lançar ou retornar null.

ErrorCode

-1 é argumento inválido. -2 é não inicializado.

Construção

new BeautyEffectEngine(context, config) lança IllegalArgumentException quando:
  • context ou config é null
  • config.isValid() é false (sem licenseToken e faltando appId / appKey)
Ele não retorna null.
A inicialização de licença e recursos ainda pode falhar de forma assíncrona. Inscreva-se nos eventos do mecanismo:
Solução de problemas de autenticação: Autenticação e licença. Ative o logging antes de construir — veja Implementar beleza.

processImage

  • Entrada null ou type nullIllegalArgumentException
  • Mecanismo já com release()null (sem exceção)
  • Sempre chame release() na entrada e na saída em um bloco finally
Se você converter a saída (convert, toBitmap), libere também o quadro extra.

Filtros, adesivos, fundo virtual

Caminho vazio ou byte[] vazio retorna ErrorCode.INVALID_ARGUMENT. Arquivos ausentes normalmente retornam ErrorCode.IO.
Alterações de filtro / adesivo passam a valer no próximo quadro processado. Um setter bem-sucedido não prova que a textura foi enviada; observe os resultados posteriores de processImage e os logs do SDK.

Configuração de logging

setLogConfig lança se config ou level for null. Crie os diretórios pai antes de ativar logs em arquivo.

Sem memória

ErrorCode.OUT_OF_MEMORY ou OutOfMemoryError geralmente significam que os quadros não foram liberados, a resolução está alta demais ou buffers heap/diretos se acumularam.
  • Use ByteBuffer.allocateDirect para câmera / pixels empacotados
  • Libere cada ImageFrame (incluindo resultados de convert)
  • Prefira FrameType.VIDEO para câmera ao vivo
  • Não construa um mecanismo novo a cada quadro

Estatísticas para quadros lentos