Swift

Veröffentlichen eines Streams in der Sitzung

Wenn die App eine Verbindung zur Vonage Video-Sitzung herstellt, soll sie einen Audio-/Videostream an die Sitzung senden und dabei die Kamera und das Mikrofon des Geräts verwenden:

  1. Hinzufügen einer publisher Eigenschaft der Klasse ViewController zu:
class ViewController: UIViewController {
    var session: OTSession?
    var publisher: OTPublisher?

Die Klasse OTPublisher ist im iOS SDK definiert. Sie verwendet die Kamera und das Mikrofon des Geräts, um eine Stream Vonage Video-Sitzung zu veröffentlichen.

  1. Ändern Sie die Implementierung der sessionDidConnect(_:) Methode, um Code zur Veröffentlichung eines Streams in der Sitzung einzuschließen:
func sessionDidConnect(_ session: OTSession) {
    print("The client connected to the session.")

    let settings = OTPublisherSettings()
    settings.name = UIDevice.current.name
    guard let publisher = OTPublisher(delegate: self, settings: settings) else {
        return
    }

    var error: OTError?
    session.publish(publisher, error: &error)
    guard error == nil else {
        print(error!)
        return
    }

    guard let publisherView = publisher.view else {
        return
    }
    let screenBounds = UIScreen.main.bounds
    publisherView.frame = CGRect(x: screenBounds.width - 150 - 20, y: screenBounds.height - 150 - 20, width: 150, height: 150)
    view.addSubview(publisherView)
}

Wenn die App eine Verbindung zu einer Sitzung herstellt, initialisiert sie eine Instanz des OTPublishers, der im iOS SDK definiert ist. Der Konstruktor nimmt einen Parameter an: das Objekt, das das OTPublisherDelegate-Protokoll implementiert.

Der Code übergibt dann das OTPublisher-Objekt als einen Parameter der Methode session.publish() Methode. Diese Methode veröffentlicht einen Audio-/Videostream in der Sitzung, wobei die Kamera und das Mikrofon des iOS-Geräts verwendet werden. (Beachten Sie, dass das iOS SDK im Xcode-Simulator beim Veröffentlichen eines Streams ein Testvideo verwendet).

Das OTPublisher-Objekt hat eine view Eigenschaft, die ein UIView-Objekt ist. Diese Ansicht zeigt das von der Kamera des Geräts aufgenommene Video an. Der Code fügt diese Ansicht als Unteransicht der Hauptansicht des ViewControllers hinzu.

  1. Als nächstes werden wir Methoden des OTPublisherDelegate-Protokolls implementieren. Dieses Protokoll enthält Methoden zur Behandlung von Ereignissen im Zusammenhang mit dem Herausgeber. Fügen Sie den folgenden Code am Ende der Datei ViewController.swift nach der schließenden Klammer der Erweiterung OTSessionDelegate ein:
// MARK: - OTPublisherDelegate callbacks
extension ViewController: OTPublisherDelegate {
    func publisher(_ publisher: OTPublisherKit, didFailWithError error: OTError) {
        print("The publisher failed: \(error)")
    }
}
  • Wenn der Client die Sitzung nicht veröffentlichen kann, wird ein OTError-Objekt an die publisher(_: didFailWithError:) Methode.

Debuggen Sie Ihre Anwendung. Wenn die Anwendung erfolgreich eine Verbindung zur Sitzung herstellt, wird ein Stream in der Sitzung veröffentlicht, und Sie sehen das Video des Herausgebers in der Anwendung.

Einfacher Video-Chat

Lernen Sie die grundlegenden Concepts der Vonage Video API-Plattform kennen und erfahren Sie, wie Benutzer über Video, Voice und Messaging kommunizieren können. Erkunden Sie einen grundlegenden Ablauf der Vonage Video API.

Schritte
1
Einführung
2
Erste Schritte
3
Ein neues Projekt erstellen
4
Hinzufügen der Vonage-Videobibliothek
5
Authentifizierung einrichten
6
Verbinden mit der Sitzung
7
Veröffentlichen eines Streams in der Sitzung
8
Abonnieren von Streams anderer Kunden
9
Ausführen der App
10
Schlussfolgerung