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 «Subscriber» emite este evento únicamente cuando ha cambiado uno de los índices de calidad. Cada «Subscribe» emite eventos con sus propios índices de calidad de audio y vídeo, dependiendo de si está suscrito al audio, al vídeo o a ambos.
En respuesta a estos sucesos, tu aplicación puede (de forma opcional) notificar al cliente las condiciones de la red que provocan una disminución de 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 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.
}
}}/>
El objeto «Subscriber» envía un disconnected evento. Cuando se restablece el flujo, el objeto «Subscriber» emite un connected evento. Si el cliente no puede restaurar el flujo, el objeto Subscriber 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:
subscriber.on(
disconnected: function() {
// Display a user interface notification.
},
connected: function() {
// Adjust user interface.
},
destroyed: function() {
// Adjust user interface.
}
);
El SubscriberKit.StreamListener.onDisconnected(SubscriberKit subscriber) se llama el método. Cuando se restablece la conexión, el SubscriberKit.StreamListener.onReconnected(SubscriberKit subscriber) se llama el método. Si el cliente no puede restaurar el flujo, el Session.SessionListener.onStreamDropped(Session session, Stream stream) se llama al método.
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:
// 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.
}
El OTSubscriberDelegate subscriberDidDisconnect(fromStream:) El mensaje se envía al delegado del objeto OTSubscriber.
Cuando se restablezca la conexión, el OTSubscriberDelegate subscriberDidReconnect(toStream:) Se envía el mensaje. Si el cliente no puede restablecer la conexión, el OTSessionDelegate session(_:streamDestroyed:) se envía el mensaje.
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 desconexión.
// 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.
}
Cuando se interrumpe la conexión y el cliente intenta volver a conectarse, el [OTSubscriberKitDelegate subscriberDidDisconnectFromStream:] El mensaje se envía al delegado del objeto OTSubscriberKit.
Cuando se restablezca la conexión, el [OTSubscriberKitDelegate subscriberDidReconnectToStream:] Se envía el mensaje. Si el cliente no puede restablecer la conexión, el [OTSessionDelegate session:streamDestroyed:] se envía el mensaje.
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 desconexión.
// 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.
}
El objeto «Session» envía un StreamDisconnected evento.
Cuando se restablece la conexión, el objeto «Subscriber» envía un StreamReconnected evento. Si el cliente no puede restaurar el flujo, el objeto Session envía un evento StreamDropped 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:
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.
}
Cuando se interrumpe la conexión y el cliente intenta volver a conectarse, el on_disconnected función de devolución de llamada de la otc_subscriber_callbacks del abonado. Cuando se restablece la conexión, la estructura on_reconnected función de devolución de llamada de la otc_subscriber_callbacks para el abonado.
Si el cliente no puede restaurar el flujo, el on_stream_dropped función de devolución de llamada de la otc_session_callbacks struct.
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: