Detecção de alterações na qualidade de áudio e vídeo (somente JavaScript)
Se um cliente passar por períodos de conectividade de rede prejudicada, isso pode se refletir na
qualidade da chamada do assinante. O objeto Assinante envia um qualityScoreChanged evento
quando as pontuações MOS calculadas para áudio e vídeo mudam. Essas pontuações são apresentadas como números inteiros entre 1 (pior) e 5 (melhor),
correspondendo a ruim, insatisfatório, razoável, bom e excelente. Para mais detalhes, consulte o Assinante qualityScoreChanged evento.
Um objeto Subscriber dispara esse evento somente quando uma das pontuações de qualidade sofre alteração. Cada Subscribe dispara eventos com suas próprias pontuações de qualidade de áudio e vídeo, dependendo se está assinando o áudio, o vídeo ou ambos.
Em resposta a esses eventos, seu aplicativo pode (opcionalmente) notificar o cliente sobre as condições da rede que resultam na degradação da qualidade da chamada:
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
}
});
Reconexão automática
Se um cliente perder a conexão com um fluxo assinado (por exemplo, devido a um problema de rede), ele tentará se reconectar automaticamente ao fluxo.
Se um cliente perder a conexão com um fluxo assinado (por exemplo, devido a uma queda na conectividade de rede em qualquer um dos clientes), ele tentará se reconectar automaticamente ao fluxo. Quando a conexão com o fluxo é perdida e o cliente tenta se reconectar, o objeto OTSubscriber dispara um disconnected evento. Quando o fluxo é restaurado, o objeto OTSubscriber dispara um connected evento. Se o cliente não conseguir restaurar o fluxo, o objeto OTSubscriber dispara um destroyed evento.
Em resposta a esses eventos, seu aplicativo pode (opcionalmente) exibir notificações na interface do usuário indicando os estados de desconexão temporária, reconexão e destruição:
<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.
}
}}/>
O objeto Subscriber dispara um disconnected evento. Quando o fluxo é restaurado, o objeto Subscriber dispara um connected evento. Se o cliente não conseguir restaurar o fluxo, o objeto Subscriber dispara um destroyed evento.
Em resposta a esses eventos, seu aplicativo pode (opcionalmente) exibir notificações na interface do usuário indicando os estados de desconexão temporária, reconexão e destruição:
subscriber.on(
disconnected: function() {
// Display a user interface notification.
},
connected: function() {
// Adjust user interface.
},
destroyed: function() {
// Adjust user interface.
}
);
O SubscriberKit.StreamListener.onDisconnected(SubscriberKit subscriber) método é chamado. Quando a conexão é restabelecida, o SubscriberKit.StreamListener.onReconnected(SubscriberKit subscriber) método é chamado. Se o cliente não conseguir restaurar o fluxo, o Session.SessionListener.onStreamDropped(Session session, Stream stream) o método é chamado.
Em resposta a esses eventos, seu aplicativo pode (opcionalmente) exibir notificações na interface do usuário indicando os estados de desconexão temporária, reconexão e destruição:
// 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.
}
O OTSubscriberDelegate subscriberDidDisconnect(fromStream:) A mensagem é enviada ao delegado do objeto OTSubscriber.
Quando a conexão for restabelecida, o OTSubscriberDelegate subscriberDidReconnect(toStream:) a mensagem é enviada. Se o cliente não conseguir restabelecer a conexão, o OTSessionDelegate session(_:streamDestroyed:) A mensagem é enviada.
Em resposta a esses eventos, seu aplicativo pode (opcionalmente) exibir notificações na interface do usuário indicando os estados de desconexão temporária, reconexão e desconexão.
// 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.
}
Quando a conexão é interrompida e o cliente tenta se reconectar, o [OTSubscriberKitDelegate subscriberDidDisconnectFromStream:] A mensagem é enviada ao delegado do objeto OTSubscriberKit.
Quando a conexão for restabelecida, o [OTSubscriberKitDelegate subscriberDidReconnectToStream:] a mensagem é enviada. Se o cliente não conseguir restabelecer a conexão, o [OTSessionDelegate session:streamDestroyed:] A mensagem é enviada.
Em resposta a esses eventos, seu aplicativo pode (opcionalmente) exibir notificações na interface do usuário indicando os estados de desconexão temporária, reconexão e desconexão.
// 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.
}
O objeto Session envia um StreamDisconnected evento.
Quando a conexão é restabelecida, o objeto Subscriber envia um StreamReconnected evento. Se o cliente não conseguir restaurar o fluxo, o objeto Session envia um StreamDropped evento.
Em resposta a esses eventos, seu aplicativo pode (opcionalmente) exibir notificações na interface do usuário indicando os estados de desconexão temporária, reconexão e destruição:
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.
}
Quando a conexão é interrompida e o cliente tenta se reconectar, o on_disconnected função de retorno de chamada do otc_subscriber_callbacks é chamada a estrutura do assinante. Quando a conexão é restabelecida, a on_reconnected função de retorno de chamada do otc_subscriber_callbacks é chamada a estrutura do assinante.
Se o cliente não conseguir restaurar o fluxo, o on_stream_dropped função de retorno de chamada do otc_session_callbacks a estrutura é chamada.
Em resposta a esses eventos, seu aplicativo pode (opcionalmente) exibir notificações na interface do usuário indicando os estados de desconexão temporária, reconexão e destruição: