Swift

Audio über Sitzungsereignisse steuern

Verwenden Sie schließlich die Methoden der Vonage-Sitzungsdelegierten, um den Klingelton zu behandeln. Nach der Veröffentlichung des Videos wird die doPublish Methode löst den Start des Klingeltons aus. Wenn der selbst abonnierte Stream eine Verbindung herstellt, wird die subscriberDidConnectToStream Methode wird der Klingelton gestoppt.

extension VonageVideoManager: OTPublisherDelegate {
    func publisher(_ publisher: OTPublisherKit, streamCreated stream: OTStream) {
        print("Publishing")
        // play the ringtone for 10 seconds , it is fun...
        // doSubscribe method will stop it later
        DispatchQueue.main.asyncAfter(deadline: .now() + 10) {
            self.doSubscribe(stream)
        }
    }
    
    func publisher(_ publisher: OTPublisherKit, streamDestroyed stream: OTStream) {
        print("publisher \(publisher) streamDestroyed \(stream)")
        
        if let subStream = subscriber?.stream, subStream.streamId == stream.streamId {
            cleanupSubscriber()
        }
        
        cleanupPublisher()
    }
    
    func publisher(_ publisher: OTPublisherKit, didFailWithError error: OTError) {
        print("publisher didFailWithError \(error)")
        cleanupPublisher()
    }
}

extension VonageVideoManager: OTSubscriberDelegate {
    
    func subscriberDidConnect(toStream subscriberKit: OTSubscriberKit) {
        print("subscriberDidConnectToStream (\(subscriber?.stream?.connection.connectionId ?? ""))")
        
        // Stop ringtone from playing, as the subscriber will connect shortly
        myAudioDevice?.stopRingtone()
        guard let view = self.subscriber?.view else { return }
        subView = AnyView(Wrap(view))
    }
    
    func subscriber(_ subscriber: OTSubscriberKit, didFailWithError error: OTError) {
        print("Subscriber failed: \(error.localizedDescription)")
    }
}

Benutzerdefinierter Audiotreiber

Hier erfahren Sie, wie Sie einen benutzerdefinierten Audiotreiber verwenden, um den Audio-Stream des Herausgebers und der Teilnehmer anzupassen. Sie werden den benutzerdefinierten Audiotreiber verwenden, wenn Sie die Audio-Wiedergabe Ihrer eigenen Audiodatei starten und stoppen und alles tun möchten, was über das Standardverhalten des vom SDK bereitgestellten Live-Video-Chats hinausgeht.

Verfügbar am:
Kotlin Swift
Schritte
1
Einführung
2
Erste Schritte
3
Ein neues Projekt erstellen
4
Hinzufügen des Vonage Video SDK
5
Authentifizierung einrichten
6
Übersicht
7
Erstellen Sie die benutzerdefinierte Audiotreiberklasse
8
Implementierung der "Klingelton abspielen"-Logik
9
Implementierung der Logik "Klingelton anhalten
10
Integration mit Vonage Video Manager
11
Audio über Sitzungsereignisse steuern
12
Wie es funktioniert
13
Schlussfolgerung