本文にスキップする
Version: 5.5

通話の一時停止

PlanetKitは、通話の一時停止(hold)/再開(unhold)機能を提供します。この機能を使用すると、アプリケーションがメディアストリームの送受信を一時停止または再開します。ユーザーが通話を一時停止または再開すると、ピアはユーザーのビデオが一時停止または再開されたことを知らせるイベントを受け取ります。

通話の一時停止および再開の動作は、通話のタイプによって異なります。ここでは、通話を一時停止または再開する方法について説明します。

対応する通話タイプSDKの最低バージョン
1対1通話、グループ通話(カンファレンス)PlanetKit 3.0

1対1通話

1対1通話を一時停止または再開するには、PlanetKitCallhold()またはunhold()を使用します。

hold()を呼び出してアプリケーションのメディアストリーム送受信を一時停止した後、ピアは通信を再開するためにunhold()が呼び出されるまで待つ必要があります。ピア側のアプリケーションは、PlanetKitが通話パラメーターに設定された一時停止音(hold tone)を再生させます。

下図は、1対1通話の一時停止と再開の流れを示しています。

1対1通話一時停止シーケンス図

関連API

1対1通話で通話の一時停止および再開に関連するAPIは次のとおりです。

メソッド説明関連イベントコールバック
hold()一時停止ステータスを開始します。一時停止の理由を提供できます。onPeerHold
unhold()一時停止ステータスを終了します。onPeerUnhold

ビデオ通話の有効化と無効化

通話中に一時停止を要求したデバイス(Client 01)は、ビデオ通話の有効化と無効化を要求できません。

ただし、相手デバイス(Client 02)では、enableVideo()およびdisableVideo()メソッドを使用してビデオ通話の有効化と無効化を要求できます。1対1通話では、ビデオ通話の有効化と無効化は常に両側で同時に行われます。したがって、Client 02がビデオ通話の有効化と無効化を要求すると、Client 02だけでなく、Client 01もビデオ通話の有効化と無効化を実行します。その後、以前に一時停止状態であったClient 01デバイスは、一時停止状態を継続します。

グループ通話

グループ通話を一時停止または再開するには、PlanetKitConferencehold()またはunhold()を使用します。

グループ通話では、一時停止の動作が1対1通話と異なります。主に以下のような違いがあります。

  • 一時停止音という概念が存在しません。
  • 1対1通話では、発信者(ピア)側でメディア送受信が一時停止になりますが、グループ通話では、ピアのメディア送受信がPlanet Cloudによって停止されます。

下図は、グループ通話の一時停止および再開の流れを示しています。

グループ通話一時停止シーケンス図

関連API

グループ通話で通話の一時停止および再開に関連するAPIは次のとおりです。

メソッド説明関連イベントコールバック
hold()一時停止ステータスを開始します。一時停止の理由を提供できます。onPeersOnHold
unhold()一時停止ステータスを終了します。onPeersUnhold

ビデオ通話の有効化と無効化

通話中に一時停止を要求したデバイス(Client 01)は、ビデオ通話の有効化と無効化を要求できません。

画面共有

画面共有中に発表者(画面共有をしているユーザー)のクライアントがhold()を呼び出すと、発表者とピアに以下のようなイベントが発生します。

  • 発表者:onMyScreenShareStoppedByHold
  • 1対1通話ピア:onPeerScreenShareStopped
  • グループ通話ピア:ステータスがDISABLEDonScreenShareUpdated

グループ通話では、画面共有の対象によってonScreenShareUpdatedイベントを受信するピアが以下のように異なります。

  • 画面共有がメインルーム(main room)を対象とする場合、ルームのすべてのピアがイベントを受信します。
  • 画面共有がサブグループを対象とする場合、サブグループに加入したピアのみイベントを受信します。

関連ドキュメント