Swift

Zusammenfassung

Wie es funktioniert

Ein Timer läuft mit ~10 fps. Bei jedem Tick rendert der Erfasser die Zielansicht (a UIView) in eine UIImage über drawHierarchy(in:afterScreenUpdates:)und passt die Größe des Bildes für die Kompatibilität mit dem Encoder an, konvertiert es in ein CVPixelBufferwickelt es in ein OTVideoFrameund übergibt sie dem Vonage SDK über videoCaptureConsumer?.consumeFrame(_:). Das SDK kodiert und veröffentlicht die Frames als Screen-Share-Stream. Die Zielansicht kann die vollständige Stammansicht sein oder eine beliebige UIView die Sie zur Verfügung stellen - einschließlich einer von einem UIViewRepresentable (siehe Alternative unten).

Prüfung

Dieses Beispiel sollte mit mehreren Teilnehmern (mindestens 2) durchgeführt werden, um zu sehen, wie die Bildschirmfreigabe für eine andere Person im Gespräch funktioniert.

Test im iOS-Simulator

  1. Führen Sie die Anwendung im iOS-Simulator aus.
  2. Der Simulator verwendet ein Demovideo (kein Zugang zur Kamera)
  3. Sie sollten den Text des Timers sehen

Test am physischen Gerät

  1. Ein iOS-Gerät anschließen
  2. Wählen Sie es als Laufziel aus
  3. Erteilen Sie die Kamerarechte, wenn Sie dazu aufgefordert werden
  4. Sie sollten den Text des Timers sehen

Test mit mehreren Teilnehmern

  1. Führen Sie die Anwendung auf einem Gerät oder Simulator aus.
  2. Verwenden Sie die Vonage Video Spielplatz der gleichen Sitzung beizutreten
  3. Sie sollten sowohl Ihren benutzerdefinierten Stream als auch den Standard-Abonnenten-Stream sehen