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

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

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

ここでは、1対1通話でビデオ通話を有効または無効にする方法について説明します。

対応する通話タイプSDKの最低バージョン
1対1通話0.8

1対1通話

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

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

レスポンスタイプ

1対1通話で相手がビデオ通話をリクエストしたとき、ユーザーのレスポンスタイプは、通話設定のプロセスで設定できます。

レスポンスタイプはPlanetKitResponseOnEnableVideoにて、以下のように定義されています。

  • pause:相手がビデオ通話を有効にすることをリクエストした際にユーザーのビデオを一時停止します。
  • send:相手がビデオ通話を有効にすることをリクエストした際にユーザーのビデオを送信します。

次のようにレスポンスタイプを設定できます。

  • 発信側では、PlanetKitMakeCallParamBuildersetResponseOnEnableVideo()を使用してレスポンスタイプを設定します。
  • 受信側では、PlanetKitVerifyCallParamBuildersetResponseOnEnableVideo()を使用してレスポンスタイプを設定します。

ビデオ通話を有効にする

ビデオ通話をリクエストした側は常に自分のカメラストリームを送信しますが、受信者側には2つのシナリオがあります。シナリオはレスポンスタイプの値によって選択されます。

  • シナリオ1:ビデオストリーミングを送信しながら手動で応答する
    • 受信者のレスポンスタイプがpauseの場合です。
    • このシナリオでは、ビデオを一時停止した状態でビデオ通話を開始します。 ビデオ通話のリクエストを受けたユーザー(Client 02)が自分のビデオストリームを送信するタイミングを選択できます。
      1対1通話ビデオ通話を有効にする手動で応答シーケンス図
      外部デバイスが接続されていなければ、Client02(iOS/Android PlanetKit)はオーディオプレイバックメディアをスピーカーフォンに変更します。
    • 関連イベントであるonPeerVideoPausedonPeerVideoResumedについて詳しくは、ビデオの一時停止イベントを参照してください。
  • シナリオ2:ビデオストリーミングを送信しながら自動で応答する
    • 受信者のレスポンスタイプがsendの場合です。
    • このシナリオでは、ビデオ通話のリクエストを受けたユーザー(Client 02)がリクエストを受けたときに自分のビデオストリームを送信します。
      1対1通話ビデオ通話を有効にする自動で応答シーケンス図
      外部デバイスが接続されていなければ、Client02(iOS/Android PlanetKit)はオーディオプレイバックメディアをスピーカーフォンに変えます。
Tip

あらかじめ受信者のシナリオを定めてから設定することを推奨します。つまり、レスポンスタイプフィールドの値をpauseまたはsendなどの定数に設定して使用してください。

ビデオ通話を無効にする

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

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

リジェクトの流れの例

enableVideo()リクエストの受信者がビデオ通話に参加したくなければ、リクエストをリジェクトできます。ここでレスポンスタイプはpauseであると仮定します。このとき、通話の手順は以下のようになるべきです。

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

カメラの初期化に失敗した場合

クライアントがonVideoEnabledByPeerイベントを受信した後カメラの初期化(open)に失敗した場合、クライアントはカメラの初期化を再試行し、初期化に成功した上でresumeMyVideo()を呼び出す必要があります。

関連API

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

メソッド

イベント

関連ドキュメント