オーディオとビデオの品質変化を検出する(JavaScriptのみ)

クライアントがネットワーク接続性の低下を経験した場合、それが加入者の通話品質に反映されることがあります。 に反映される場合があります。サブスクライバーオブジェクトは qualityScoreChanged イベント 計算されたオーディオとビデオのMOSスコアが変化したとき。これらのスコアは1(最悪)から5(最高)の整数で報告される、 bad、poor、fair、good、excellentに対応する。詳細については、加入者 クオリティスコア変更 イベントを開催する。

サブスクライバオブジェクトは、品質スコアのいずれかが変更された場合にのみ、このイベントをディスパッチする。各 サブスクライブは、それがオーディオ、ビデオ、またはその両方をサブスクライブしているかに応じて、それ自身のオーディオとビデオのクオリティ・スコアでイベントをディスパッチします。 オーディオ、ビデオ、またはその両方をサブスクライブしているかに応じて、それぞれのオーディオとビデオのクオリティ・スコアのイベントをディスパッチします。

これらのイベントに応答して、アプリケーションは(オプションで)通話品質が低下するようなネットワーク状況をクライアントに通知することができます。 をクライアントに通知することができます:

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

自動再接続

クライアントが(ネットワークの問題などで)購読ストリームへの接続を切断した場合、自動的にストリームへの再接続を試みる。

クライアントがサブスクライブしているストリームへの接続を切断した場合 (たとえば、いずれかのクライアントのネットワーク接続が切断された場合など)、ストリームへの再接続を自動的に試みます。ストリームが切断され、クライアントが再接続を試みると、OTSubscriber オブジェクトは disconnected イベントを生成する。ストリームが復元されると、OTSubscriberオブジェクトは connected イベントが発生する。クライアントがストリームを復元できない場合、OTSubscriberオブジェクトは destroyed イベントを開催する。

これらのイベントに応答して、アプリケーションは、一時的な切断、再接続、および破壊された状態を示すユーザーインターフェイス通知を(オプションで)表示できる:

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

をディスパッチします。 disconnected イベントを生成する。ストリームが復元されると、サブスクライバ・オブジェクトは connected イベントが発生します。クライアントがストリームをリストアできない場合、サブスクライバ・オブジェクトは destroyed イベントを開催する。

これらのイベントに応答して、アプリケーションは、一時的な切断、再接続、および破壊された状態を示すユーザーインターフェイス通知を(オプションで)表示できる:

subscriber.on(
  disconnected: function() {
    // Display a user interface notification.
  },
  connected: function() {
    // Adjust user interface.
  },
  destroyed: function() {
    // Adjust user interface.
  }
);

について SubscriberKit.StreamListener.onDisconnected(SubscriberKit subscriber) メソッドが呼び出される。接続が回復すると SubscriberKit.StreamListener.onReconnected(SubscriberKit subscriber) メソッドが呼び出される。クライアントがストリームを復元できない場合 Session.SessionListener.onStreamDropped(Session session, Stream stream) メソッドが呼び出される。

これらのイベントに応答して、アプリケーションは、一時的な切断、再接続、および破壊された状態を示すユーザーインターフェイス通知を(オプションで)表示できる:

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

について OTSubscriberDelegate subscriberDidDisconnect(fromStream:) メッセージは OTSubscriber オブジェクトのデリゲートに送られる。

接続が回復すると OTSubscriberDelegate subscriberDidReconnect(toStream:) メッセージが送信される。クライアントがコネクションを復元できない場合 OTSessionDelegate session(_:streamDestroyed:) メッセージが送信される。

これらのイベントに応答して、アプリケーションは(オプションで)一時的な切断、再接続、切断の状態を示すユーザーインターフェース通知を表示することができる。

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

ストリームが切断され、クライアントが再接続しようとすると [OTSubscriberKitDelegate subscriberDidDisconnectFromStream:] メッセージが OTSubscriberKit オブジェクトのデリゲートに送信される。

接続が回復すると [OTSubscriberKitDelegate subscriberDidReconnectToStream:] メッセージが送信される。クライアントがコネクションを復元できない場合 [OTSessionDelegate session:streamDestroyed:] メッセージが送信される。

これらのイベントに応答して、アプリケーションは(オプションで)一時的な切断、再接続、切断の状態を示すユーザーインターフェース通知を表示することができる。

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

Session オブジェクトは StreamDisconnected イベントを開催する。

接続が回復すると、サブスクライバー・オブジェクトは StreamReconnected イベントを送信します。クライアントがストリームを復元できない場合、セッションオブジェクトは StreamDropped イベントを開催する。

これらのイベントに応答して、アプリケーションは、一時的な切断、再接続、および破壊された状態を示すユーザーインターフェイス通知を(オプションで)表示できる:

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

ストリームが切断され、クライアントが再接続しようとすると on_disconnected のコールバック関数である。 otc_subscriber_callbacks 構造体が呼び出される。接続がリストアされると on_reconnected のコールバック関数である。 otc_subscriber_callbacks 構造体が呼び出される。

クライアントがストリームを復元できない場合 on_stream_dropped のコールバック関数である。 otc_session_callbacks と呼ばれる。

これらのイベントに応答して、アプリケーションは、一時的な切断、再接続、および破壊された状態を示すユーザーインターフェイス通知を(オプションで)表示できる: