Detección de cambios en la calidad de audio y vídeo (sólo JavaScript)

Si un cliente experimenta periodos de conectividad de red degradada, esto puede reflejarse en la calidad de la llamada del abonado. El objeto Abonado envía un qualityScoreChanged evento cuando cambian las puntuaciones MOS de audio y vídeo calculadas. Estas puntuaciones se expresan en números enteros entre 1 (peor) y 5 (mejor), que corresponden a malo, pobre, regular, bueno y excelente. Para más información, consulte la sección Abonado qualityScoreChanged evento.

Un objeto Suscriptor envía este evento sólo cuando uno de los índices de calidad ha cambiado. Cada Suscribe envía eventos con sus propias puntuaciones de calidad de audio y vídeo, dependiendo de si está de audio, vídeo o ambos.

En respuesta a estos eventos, su aplicación puede (opcionalmente) notificar al cliente las condiciones de la red que degradan la calidad de la llamada:

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
  }
});

Reconexión automática

Si un cliente pierde la conexión a un flujo suscrito (por ejemplo, debido a un problema de red), intentará reconectarse automáticamente al flujo.

Si un cliente pierde la conexión a un flujo suscrito (por ejemplo, debido a una caída en la conectividad de red en cualquiera de los clientes), intentará reconectarse automáticamente al flujo. Cuando el flujo se cae y el cliente intenta volver a conectarse, el objeto OTSubscriber envía un comando disconnected evento. Cuando se restablece el flujo, el objeto OTSubscriber envía un evento connected evento. Si el cliente no puede restaurar el flujo, el objeto OTSubscriber envía un evento destroyed evento.

En respuesta a estos eventos, tu aplicación puede (opcionalmente) mostrar notificaciones en la interfaz de usuario indicando los estados de desconexión temporal, reconexión y destrucción:

<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.
    }
  }}/>