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

音声通話中のビデオ通話の有効化

音声通話中にビデオ通話に切り替えたり、ビデオ通話中にもう一度音声通話に切り替えたりすることができます。これを、ビデオ通話を有効または無効にすると表現します。

ビデオ通話の有効化をリクエストする手順は、通話タイプによって異なります。ここでは、通話タイプによってビデオ通話を有効または無効にする方法について説明します。

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

1対1通話

1対1通話でビデオ通話を有効または無効にするには、PlanetKitCallの次のメソッドを使用します。

メソッド説明関連イベントコールバック
EnableVideo()ビデオ通話を有効にすることをリクエストします。OnVideoEnabledByPeerAndMyVideoPaused
DisableVideo()ビデオ通話を無効にすることをリクエストします。ビデオ通話を無効にする理由を提供できます。OnVideoDisabledByPeer

リクエスト側のビデオの初期状態

EnableVideo()eInitialMyVideoStateパラメーターで、リクエスト側のビデオの初期状態を設定できます。このパラメーターの値は、EInitialMyVideoState列挙型で定義された次の値のいずれかになります。

  • PLNK_INITIAL_MY_VIDEO_STATE_RESUME:カメラがオンになり、カメラでキャプチャーしたビデオが転送されます。
  • PLNK_INITIAL_MY_VIDEO_STATE_PAUSE:カメラがオフのままで、ビデオは転送されません。
Note
  • eInitialMyVideoStateパラメーターのデフォルト値は、PLNK_INITIAL_MY_VIDEO_STATE_RESUMEです。
  • このパラメーターをPLNK_INITIAL_MY_VIDEO_STATE_PAUSEに設定すると、リクエスト側のビデオが転送されません。リクエスト側のビデオをキャプチャーして転送するには、後でPlanetKitCall::ResumeMyVideo()を呼び出す必要があります。

ビデオ通話を有効にする

ビデオ通話のリクエスト側がEnableVideo()を呼び出すと、リクエスト受信者のビデオが一時停止された状態でビデオ通話が有効になります。リクエスト受信者がビデオを送るには、ResumeMyVideo()を呼び出す必要があります。

Note

PlanetKit 6.0から1対1通話でレスポンスタイプ(ビデオ一時停止またはビデオ伝送)を設定する機能は、サポートされなくなりました。これにより、ビデオ通話を有効にすると、リクエスト受信者のビデオは一時停止状態になります。

1対1通話でビデオ通話有効化するシーケンス図

関連イベントであるOnPeerVideoPausedOnPeerVideoResumedについて詳しくは、ビデオの一時停止イベントを参照してください。

ビデオ通話を無効にする

ビデオ通話の途中でビデオストリーミングを中止したい場合は、disableReasonの値と共にDisableVideo()を呼び出します。

1対1通話でビデオ通話無効化するシーケンス図

リジェクトの流れの例

EnableVideo()リクエストの受信者がビデオ通話に参加したくなければ、リクエストをリジェクトできます。このとき、通話の手順は以下のようになります。

1対1通話でビデオ通話リジェクトするシーケンス図

グループ通話

グループ通話でビデオ通話を有効または無効にするには、PlanetKitConferenceの次のメソッドを使用します。

メソッド説明関連イベントコールバック
EnableVideo()ビデオ通話を有効にすることをリクエストします。OnPeersVideoUpdated
(state=PLNK_VIDEO_STATE_ENABLED)
DisableVideo()ビデオ通話を無効にすることをリクエストします。
参考:1対1通話とは違って、グループ通話ではdisableReasonは必要ありません。
OnPeersVideoUpdated
(state=PLNK_VIDEO_STATE_DISABLED)

OnPeersVideoUpdatedではPLNK_VIDEO_STATE_ENABLEDPLNK_VIDEO_STATE_DISABLEDPLNK_VIDEO_STATE_PAUSEDの3つのステータスを渡します。

ステータスがPLNK_VIDEO_STATE_PAUSEDの場合、pauseReasonを参照して必要な作業を行う必要があります。詳しくは、ビデオの一時停止イベントを参照してください。

リクエスト側のビデオの初期状態

EnableVideo()eInitialMyVideoStateパラメーターで、リクエスト側のビデオの初期状態を設定できます。このパラメーターの値は、EInitialMyVideoState列挙型で定義された次の値のいずれかになります。

  • PLNK_INITIAL_MY_VIDEO_STATE_RESUME:カメラがオンになり、カメラでキャプチャーしたビデオが転送されます。
  • PLNK_INITIAL_MY_VIDEO_STATE_PAUSE:カメラがオフのままで、ビデオは転送されません。
Note
  • eInitialMyVideoStateパラメーターのデフォルト値は、PLNK_INITIAL_MY_VIDEO_STATE_RESUMEです。
  • このパラメーターをPLNK_INITIAL_MY_VIDEO_STATE_PAUSEに設定すると、リクエスト側のビデオが転送されません。リクエスト側のビデオをキャプチャーして転送するには、後でPlanetKitConference::ResumeMyVideo()を呼び出す必要があります。

ビデオ通話を有効にする

ビデオ通話をリクエストした側がEnableVideo()を呼び出すと、他の参加者はそれぞれPeerControl::StartVideo()を呼び出し、そのストリームを受け取るかどうかを決定する必要があります。

グループ通話でビデオ通話有効化するシーケンス図
Note

PeerControlの使い方について詳しくは、グループビデオ通話のサンプルコードを参照してください。

ビデオ通話を無効にする

グループビデオ通話の途中でビデオストリームを中止するには、DisableVideo()を呼び出します。

グループ通話でビデオ通話無効化するシーケンス図

インターフェースの変更

グループ通話でのビデオ通話の有効化に関するイベントのインターフェースが以下のように変更されました。

SDKバージョンAPI
PlanetKit 4.3以上OnPeersVideoUpdated
PlanetKit 4.0~4.2evtConfVideoUpdated
PlanetKit 4.0未満evtConfUpdated

関連API

ビデオ通話の有効化と無効化に関連するAPIは次のとおりです。

共通

1対1通話

メソッド

イベント

グループ通話

メソッド

イベント

関連ドキュメント