Détection des changements de qualité audio et vidéo (JavaScript Only)
Si un client connaît des périodes de dégradation de la connectivité réseau, cela peut se refléter sur la qualité de l'appel de l'abonné.
qualité de l'appel de l'abonné. L'objet Abonné envoie un qualityScoreChanged événement
lorsque les scores MOS audio et vidéo calculés changent. Ces scores sont rapportés sous forme de nombres entiers compris entre 1 (le plus mauvais) et 5 (le meilleur),
correspondant à mauvais, médiocre, moyen, bon et excellent. Pour plus de détails, voir la section Abonné qualityScoreChanged événement.
Un objet abonné ne déclenche cet événement que lorsque l'un des scores de qualité a changé. Chaque objet Subscribe envoie des événements avec ses propres scores de qualité audio et vidéo, selon qu'il s'abonne à l'audio, à la vidéo ou aux deux. s'abonne à l'audio, à la vidéo ou aux deux.
En réponse à ces événements, votre application peut (éventuellement) informer le client des conditions du réseau qui entraînent une dégradation de la qualité de l'appel :
subscriber.on('qualityScoreChanged', ({qualityScore}) => {
if (qualityScore.audioQualityScore <= 3){
// Alert the user that the remote party is experiencing degraded service
}
if (qualityScore.videoQualityScore <= 3){
// Alert the user that the remote party is experiencing degraded service
}
});
Reconnexion automatique
Si un client perd une connexion à un flux souscrit (par exemple, en raison d'un problème de réseau), il tentera de se reconnecter automatiquement au flux.
Si un client interrompt sa connexion à un flux souscrit (par exemple, en raison d'une interruption de la connectivité réseau de l'un ou l'autre des clients), il tentera de se reconnecter automatiquement au flux. Lorsque le flux est interrompu et que le client tente de se reconnecter, l'objet OTSubscriber envoie une commande disconnected événement. Lorsque le flux est rétabli, l'objet OTSubscriber envoie un événement connected (événement). Si le client ne peut pas restaurer le flux, l'objet OTSubscriber envoie un événement destroyed événement.
En réponse à ces événements, votre application peut (éventuellement) afficher des notifications d'interface utilisateur indiquant les états de déconnexion temporaire, de reconnexion et de destruction :
<OTSubscriber
eventHandlers={{
disconnected: (event) => {
console.log('stream disconnected -- stream ID:', event.streamId);
// Display a user interface notification.
},
connected: (event) => {
console.log('stream connected -- stream ID:', event.streamId);
// Adjust user interface.
},
destroyed: (event) => {
console.log('stream destroyed -- stream ID:', event.streamId);
// Adjust user interface.
}
}}/>
L'objet Abonné envoie un disconnected événement. Lorsque le flux est rétabli, l'objet Abonné envoie un événement connected . Si le client ne peut pas restaurer le flux, l'objet Abonné envoie un événement destroyed événement.
En réponse à ces événements, votre application peut (éventuellement) afficher des notifications d'interface utilisateur indiquant les états de déconnexion temporaire, de reconnexion et de destruction :
subscriber.on(
disconnected: function() {
// Display a user interface notification.
},
connected: function() {
// Adjust user interface.
},
destroyed: function() {
// Adjust user interface.
}
);
Les SubscriberKit.StreamListener.onDisconnected(SubscriberKit subscriber) est appelée. Lorsque la connexion est rétablie, la méthode SubscriberKit.StreamListener.onReconnected(SubscriberKit subscriber) est appelée. Si le client ne peut pas restaurer le flux, la méthode Session.SessionListener.onStreamDropped(Session session, Stream stream) est appelée.
En réponse à ces événements, votre application peut (éventuellement) afficher des notifications d'interface utilisateur indiquant les états de déconnexion temporaire, de reconnexion et de destruction :
// In the implementation of the SubscriberKit.StreamListener interface:
@Override
public void onDisconnected(SubscriberKit subscriber) {
// Display a user interface notification.
}
@Override
public void onReconnected(SubscriberKit subscriber) {
// Adjust user interface.
}
// In the implementation of the Session.SessionListener interface:
@Override
public void onStreamDropped(Session session, Stream stream) {
// Adjust user interface.
}
Les OTSubscriberDelegate subscriberDidDisconnect(fromStream:) est envoyé au délégué de l'objet OTSubscriber.
Lorsque la connexion est rétablie, le OTSubscriberDelegate subscriberDidReconnect(toStream:) est envoyé. Si le client ne peut pas rétablir la connexion, le message OTSessionDelegate session(_:streamDestroyed:) est envoyé.
En réponse à ces événements, votre application peut (éventuellement) afficher des notifications d'interface utilisateur indiquant les états de déconnexion temporaire, de reconnexion et de déconnexion.
// OTSubscriber delegate callbacks:
func subscriberDidDisconnect(fromStream subscriber: OTSubscriberKit) {
// Display a user interface notification.
}
func subscriberDidReconnect(toStream subscriber: OTSubscriberKit) {
// Adjust user interface.
}
// OTSession delegate callback:
func session(_ session: OTSession, streamDestroyed stream: OTStream) {
// Adjust user interface.
}
Lorsque le flux est interrompu et que le client tente de se reconnecter, la fonction [OTSubscriberKitDelegate subscriberDidDisconnectFromStream:] est envoyé au délégué de l'objet OTSubscriberKit.
Lorsque la connexion est rétablie, le [OTSubscriberKitDelegate subscriberDidReconnectToStream:] est envoyé. Si le client ne peut pas rétablir la connexion, le message [OTSessionDelegate session:streamDestroyed:] est envoyé.
En réponse à ces événements, votre application peut (éventuellement) afficher des notifications d'interface utilisateur indiquant les états de déconnexion temporaire, de reconnexion et de déconnexion.
// OTSubscriber delegate callbacks:
- (void)subscriberDidDisconnectFromStream:(OTStream*)stream
{
// Display a user interface notification.
}
- (void)subscriberDidReconnectToStream:(OTStream*)stream
{
// Adjust user interface.
}
// OTSession delegate callback:
- (void)session:(OTSession*)session session:streamDestroyed:(OTStream*)stream
{
// Adjust user interface.
}
L'objet Session envoie un StreamDisconnected événement.
Lorsque la connexion est rétablie, l'objet Abonné envoie un message StreamReconnected . Si le client ne peut pas restaurer le flux, l'objet Session envoie un message StreamDropped événement.
En réponse à ces événements, votre application peut (éventuellement) afficher des notifications d'interface utilisateur indiquant les états de déconnexion temporaire, de reconnexion et de destruction :
session.StreamDropped += Session_StreamDropped;
subscriber.StreamDisconnected += Subscriber_StreamDisconnected;
subscriber.StreamReconnected += Subscriber_StreamReconnected;
public void Subscriber_StreamDisconnected(object sender)
{
// Display a user interface notification.
}
public void Subscriber_StreamReconnected(object sender)
{
// Display a user interface notification.
}
public void Session_StreamDropped(object sender, EventArgs e)
{
// Display a user interface notification.
}
Lorsque le flux est interrompu et que le client tente de se reconnecter, la fonction on_disconnected de la fonction de rappel du otc_subscriber_callbacks de l'abonné est appelée. Lorsque la connexion est rétablie, la structure on_reconnected de la fonction de rappel du otc_subscriber_callbacks struct pour l'abonné est appelé.
Si le client ne peut pas restaurer le flux, le on_stream_dropped de la fonction de rappel du otc_session_callbacks struct est appelé.
En réponse à ces événements, votre application peut (éventuellement) afficher des notifications d'interface utilisateur indiquant les états de déconnexion temporaire, de reconnexion et de destruction :