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

通話の一時停止

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

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

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

PlanetKit 5.5以前では、通話の一時停止および再開がカメラの作動に直接的な影響を及ぼすことはありませんでした。しかし、PlanetKit 5.5から通話の一時停止および再開が次のようにカメラを制御します。

  • 通話を一時停止すると、PlanetKitがカメラをオフにしてビデオ送信を無効にするため、カメラインジケーター(camera indicator)がオフになります。
  • 通話を再開すると、PlanetKitがカメラをオンにしてビデオ送信を有効にするため、カメラインジケーターがオンになります。
Note

PlanetKit 6.0以前では、通話の一時停止および再開がマイクの作動に直接的な影響を及ぼすことはありませんでした。しかし、PlanetKit 6.0から通話の一時停止および再開が次のようにマイクを制御します。

  • 通話を一時停止すると、PlanetKitがカメラをオフにしてオーディオ送信を無効にするため、マイクインジケーター(microphone indicator)がオフになります。
  • 通話を再開すると、PlanetKitがマイクをオンにしてオーディオ送信を有効にするため、マイクインジケーターがオンになります。

1対1通話

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

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

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

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

関連API

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

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

ビデオ通話の有効化および無効化

通話中に一時停止をリクエストした端末(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()一時停止ステータスを開始します。一時停止の理由を提供できます。peersDidHold
unhold()一時停止ステータスを終了します。peersDidUnhold

ビデオ通話の有効化および無効化

通話中に一時停止をリクエストした端末(Client 01)では、ビデオ通話の有効化および無効化をリクエストできません。

画面共有

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

  • 発表者:myScreenShareDidStopByHold
  • 1対1通話ピア:peerDidStopScreenShare
  • グループ通話ピア:ステータスがDISABLEDであるscreenShareDidUpdate

グループ通話では、画面共有の対象によってscreenShareDidUpdateイベントを受けるピアが次のように変わります。

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

関連ドキュメント