Vue d'ensemble
Nous allons maintenant nous abonner et enregistrer les écouteurs, afin de pouvoir recevoir les rappels contenant les statistiques à consulter. La gestion des rappels proprement dite sera effectuée à l'étape suivante.
1. S'abonner et enregistrer les auditeurs concernés
Lorsqu'un flux distant arrive, créer un Subscriber et associer les deux écouteurs de statistiques avant ou après l'abonnement (dans l'exemple, ils sont définis avant 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)
}
}
| Auditeur | Ce qu'il offre |
|---|---|
VideoStatsListener |
Indicateurs vidéo côté réception (octets, paquets, pertes, horodatage) |
MediaLinkStatsListener |
transport, remotePublisherTransport, networkDegradationSource - voir Statistiques sur les liens médias des abonnés |
2. Effacer l'état d'observabilité lorsque le flux est interrompu :
Lorsque le participant distant se déconnecte ou annule sa publication, libérez l'abonné et réinitialisez les statistiques enregistrées afin que la superposition n'affiche pas de valeurs obsolètes :
override fun onStreamDropped(session: Session, stream: Stream) {
if (subscriber != null) {
subscriber = null
latestObservabilityStats = null
latestMediaLinkSnapshot = null
}
}
Veillez également à désabonner ou à supprimer l'abonné si votre application prend en charge la réintégration à la même session avec un nouveau flux.
3. Facultatif : callbacks liés au cycle de vie des abonnés
En SubscriberListener, journal onConnected / onDisconnected pour vérifier que l'abonnement est bien actif avant de pouvoir consulter les statistiques dans Logcat ou dans la fenêtre superposée.
Observabilité du client
Découvrez comment utiliser l'observabilité côté client pour surveiller en temps réel les indicateurs de qualité d'un appel vidéo avec le SDK Vonage Video.