Übersicht
Wir werden nun die Listener abonnieren und registrieren, damit wir die Callbacks mit den eigentlichen Statistiken empfangen können. Die eigentliche Callback-Verarbeitung erfolgt im nächsten Schritt.
1. Abonnieren und relevante Hörer registrieren
Wenn ein Remote-Stream eintrifft, erstelle einen Subscriber und beide Statistik-Listener anfügen vor oder nach dem Abonnieren (im Beispiel werden sie vorher gesetzt session.subscribe):
override fun onStreamReceived(session: Session, stream: Stream) {
if (subscriber == null) {
subscriber = Subscriber.Builder(this@MainActivity, stream).build()
subscriber?.setSubscriberListener(subscriberListener)
subscriber?.setVideoStatsListener(videoStatsListener)
subscriber?.setMediaLinkStatsListener(mediaLinkStatsListener)
session.subscribe(subscriber)
}
}
| Zuhörer | Was es bietet |
|---|---|
VideoStatsListener |
Videokennzahlen auf der Empfängerseite (Bytes, Pakete, Verluste, Zeitstempel) |
MediaLinkStatsListener |
transport, remotePublisherTransport, networkDegradationSource - siehe Abonnenten-Medien-Link-Statistik |
2. Den Observability-Status löschen, wenn der Stream unterbrochen wird:
Wenn der Remote-Teilnehmer seine Veröffentlichung zurückzieht oder die Verbindung trennt, geben Sie den Abonnenten frei und setzen Sie die gespeicherten Statistiken zurück, damit im Overlay keine veralteten Werte angezeigt werden:
override fun onStreamDropped(session: Session, stream: Stream) {
if (subscriber != null) {
subscriber = null
latestObservabilityStats = null
latestMediaLinkSnapshot = null
}
}
Melden Sie den Abonnenten außerdem ab oder löschen Sie ihn, falls Ihre App die erneute Teilnahme an derselben Sitzung mit einem neuen Stream unterstützt.
3. Optional: Callbacks zum Lebenszyklus von Abonnenten
Unter SubscriberListener, Protokoll onConnected / onDisconnected um zu überprüfen, ob das Abonnement aktiv ist, bevor Sie mit der Anzeige von Statistiken in Logcat oder im Overlay rechnen.
Beobachtbarkeit der Kunden
Erfahren Sie, wie Sie mithilfe der Client-Observability Qualitätskennzahlen für einen Videoanruf mit dem Vonage Video SDK in Echtzeit überwachen können.