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.
Schritte
1
Einführung2
Erste Schritte3
Ein neues Projekt erstellen4
Hinzufügen des Vonage Video SDK5
Authentifizierung einrichten6
Übersicht7
Erstellen Sie die benutzerdefinierte Audiotreiberklasse8
Implementierung der "Klingelton abspielen"-Logik9
Implementierung der Logik "Klingelton anhalten10
Integration mit Vonage Video Manager11
Audio über Sitzungsereignisse steuern12
Wie es funktioniert13
Schlussfolgerung