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

Erfahren Sie, wie Sie einen benutzerdefinierten Audiotreiber verwenden können, um die Audiodaten des Herausgebers und der Abonnenten anzupassen. Sie werden den benutzerdefinierten Audiotreiber verwenden, wenn Sie das Audio starten und stoppen und Ihre eigene Audiodatei abspielen möchten. Wenn Sie etwas anderes als das SDK-Standardverhalten für Live-Videochats mit Audio machen möchten, verwenden Sie benutzerdefinierte Audiotreiber.

Verfügbar am:
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