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

サブグループの例:複数のサブグループ

ここでは、1つのグループ通話(カンファレンス)に複数のサブグループが存在する場合の例を示します。どのように動作するのか見てみましょう。

要求事項

この例の要求事項は、次のとおりです。

  1. ルーム内に複数のサブグループがある
  2. 参加者はルームに入った後、1つのサブグループを選択できる
  3. 参加者のサブグループ活動を監視する隠しノードが1つある

アプリケーションの設計

この例では、アプリケーションを以下のように設計しています。

  1. 使用できるサブグループとメディアタイプを定義します。

    サブグループ通信タイプサブグループ名
    STUDYオーディオおよびビデオstudy
    TRIPオーディオtrip
    WORKOUTオーディオおよびビデオworkout

    サブグループ名は、PlanetKit APIが使用する値です。この値は一意でなければならず、NULL文字を含む長さが16バイト未満でなければなりません。

    ここでは、すべての参加者がすでに上記のサブグループのリストを知っていると仮定します。

  2. マスターと参加者を設定します。

    • マスターはすべてのサブグループに加入します。
    • 参加者は興味のある1つのサブグループに加入します。
  3. peerUpdateプロパティ値をPRIVATEに設定します。

    • サブグループに加入したマスターとメンバーは、OnPeerListUpdateを利用して誰がこのサブグループに加入したかを知ることができます。
  4. videoUpdateプロパティ値をTRUEに設定します。

    • ビデオストリームを使用できます。

トポロジー

複数のサブグループが存在するルームの例のトポロジ

PlanetKit APIの流れ

次のような状況でP1という参加者がSTUDYサブグループに加入する際のPlanetKit API呼び出しの流れについて説明します。

  • TRIPサブグループ
    • T1、T2が加入およびメディア制御完了
  • WORKOUTサブグループ
    • W1、W2が加入およびメディア制御完了
  • STUDYサブグループ
    • S1のみ加入
  • マスター(M)はすべての参加者を監視
    • オーディオをミュートにし、ビデオをオフにする
    • すべてのサブグループの音声通話を聞く
    • STUDYとWORKOUTサブグループのビデオを見る
  • P1はオーディオをミュートしたまま参加

複数のサブグループが存在するルームの例の流れ Windows

P1は以下のようにSTUDYサブグループメンバーと通信します。

  1. P1がSTUDYサブグループに加入します。
    • サブグループのメンバー(マスターを含む)は通知によってこの情報を知る
    • P1は、通知によってS1がビデオストリームを送信していることを知る
    • STUDYサブグループのオーディオストリームがP1に自動送信される
  2. P1がミュートを解除し、STUDYサブグループで発言します。
    • P1のオーディオがSTUDYサブグループに送信される
  3. P1がSTUDYサブグループにビデオを送信します。
    • サブグループメンバーは、通知によってP1がたった今ビデオをオンにしたことを知る
    • サブグループメンバーが、P1のビデオの受信をリクエストする