Kotlin

Este aplicativo demonstra como usar a API de projeção de mídia como fonte para o compartilhamento de vídeo da tela. Vamos aprender a usar o capturador de vídeo personalizado para capturar a tela do dispositivo e publicá-la como um fluxo de vídeo.

Visão geral da arquitetura

┌─────────────────────────────────────────────────────────────────┐
│  MediaProjection (user grants permission)                        │
│         │                                                        │
│         ▼                                                        │
│  VirtualDisplay ──► ImageReader ──► provideBufferFrame()         │
│                                              │                   │
│                                              ▼                   │
│  ScreenSharingCapturer ◄──── BaseVideoCapturer                   │
│         │                                                        │
│         ▼                                                        │
│  Publisher ──► Session (streams to remote participants)          │
└─────────────────────────────────────────────────────────────────┘
  1. Sessão do Vonage – Conectar e publicar
  2. Projeção de mídia – API do sistema para capturar a tela (requer consentimento do usuário)
  3. Serviço em primeiro plano – A captura de tela é executada em um mediaProjection serviço em primeiro plano
  4. Capturador personalizado – Estende BaseVideoCapturer, captura quadros e os envia ao editor

Tempo estimado de conclusão: 25 minutos

Quer pular este tutorial? Você pode ir direto para o código completo do cliente em Kotlin na Compartilhamento de tela pasta da nossa Repositório de aplicativos de exemplo para Android no GitHub. O repositório inclui um arquivo README com documentação completa sobre como executar e explorar o projeto. Este tutorial se concentra na versão em Kotlin do aplicativo de exemplo para Android. Para a versão em Java, consulte o Repositório do aplicativo de exemplo anterior.

Requisitos

Para concluir este tutorial, você precisará de: