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:
- Hinzufügen einer
publisherEigenschaft 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.
- Ä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.
- 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.