Swift

Resumen

Cómo funciona

Un temporizador funciona a ~10 fps. En cada tick, el capturador renderiza la vista objetivo (a UIView) en un UIImage vía drawHierarchy(in:afterScreenUpdates:)redimensiona y rellena la imagen para hacerla compatible con el codificador, la convierte en un archivo CVPixelBuffer, lo envuelve en un OTVideoFramey lo pasa al SDK de Vonage a través de videoCaptureConsumer?.consumeFrame(_:). El SDK codifica y publica los fotogramas como un flujo de pantalla compartida. La vista de destino puede ser la vista raíz completa o cualquier UIView que proporcione -incluido el producido por un UIViewRepresentable (véase la alternativa más abajo).

Pruebas

Este ejemplo debería ser con múltiples participantes ( al menos 2 ), para ver que la pantalla compartida funciona para otra persona en la llamada.

Prueba en el simulador de iOS

  1. Ejecutar la aplicación en el simulador de iOS
  2. El simulador utilizará un vídeo de demostración (sin acceso a la cámara)
  3. Deberías ver el texto del temporizador

Prueba en el dispositivo físico

  1. Conectar un dispositivo iOS
  2. Selecciónelo como destino de la ejecución
  3. Concede permisos a la cámara cuando se te solicite
  4. Deberías ver el texto del temporizador

Prueba con varios participantes

  1. Ejecutar la aplicación en un dispositivo o simulador
  2. Utiliza el Video Playground de Vonage para unirse a la misma sesión
  3. Debería ver tanto su flujo renderizado personalizado como el flujo de abonado estándar