Swift

Resumo

Como funciona

Um temporizador funciona a cerca de 10 fps. A cada tick, o capturador renderiza a visão alvo (uma UIView) em um UIImage via drawHierarchy(in:afterScreenUpdates:), redimensiona e preenche a imagem para garantir a compatibilidade com o codificador, converte-a para um CVPixelBuffer, envolve-o em um OTVideoFrame, e o transmite ao SDK da Vonage por meio de videoCaptureConsumer?.consumeFrame(_:). O SDK codifica e publica os quadros como um fluxo de compartilhamento de tela. A visualização de destino pode ser a visualização raiz completa ou qualquer UIView que você fornece — incluindo um produzido por um UIViewRepresentable (veja a alternativa abaixo).

Testes

Este exemplo deve ser realizado com vários participantes (pelo menos dois), para verificar se o compartilhamento de tela funciona para outra pessoa na chamada.

Teste no Simulador do iOS

  1. Execute o aplicativo no Simulador do iOS
  2. O simulador utilizará um vídeo de demonstração (sem acesso à câmera)
  3. Você deve ver o texto do cronômetro

Teste em dispositivo físico

  1. Conecte um dispositivo iOS
  2. Selecione-o como destino de execução
  3. Conceda as permissões de câmera quando solicitado
  4. Você deve ver o texto do cronômetro

Teste com vários participantes

  1. Execute o aplicativo em um dispositivo ou simulador
  2. Use o Vonage Video Playground para participar da mesma sessão
  3. Você deve ver tanto o seu fluxo renderizado de forma personalizada quanto o fluxo padrão do assinante