オーディオとビデオの品質変化を検出する(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 と呼ばれる。
これらのイベントに応答して、アプリケーションは、一時的な切断、再接続、および破壊された状態を示すユーザーインターフェイス通知を(オプションで)表示できる: