音声通話中のビデオ通話の有効化
音声通話中にビデオ通話に切り替えたり、ビデオ通話中にもう一度音声通話に切り替えたりすることができます。これを、ビデオ通話を有効または無効にすると表現します。
ビデオ通話の有効化をリクエストする手順は、通話タイプによって異なります。ここでは、通話タイプによってビデオ通話を有効または無効にする方法について説明します。
対応する通話タイプ | SDKの最低バージョン |
---|---|
1対1通話、グループ通話(カンファレンス) | PlanetKit 3.0 |
1対1通話
1対1通話でビデオ通話を有効または無効にするには、PlanetKitCall
の次のメソッドを使用します。
メソッド | 説明 | 関連イベントコールバック |
---|---|---|
enableVideo() | ビデオ通話を有効にすることをリクエストします。 | videoEnabledByPeerAndMyVideoPaused |
disableVideo() | ビデオ通話を無効にすることをリクエストします。ビデオ通話を無効にする理由を提供できます。 | videoDisabledByPeer |
リクエスト側のビデオの初期状態
enableVideo()
のinitialMyVideoState
パラメーターで、リクエスト側のビデオの初期状態を設定できます。このパラメーターの値は、PlanetKitInitialMyVideoState
列挙型で定義された次の値のいずれかになります。
resume
:カメラがオンになり、カメラでキャプチャーしたビデオが転送されます。pause
:カメラがオフのままで、ビデオは転送されません。
initialMyVideoState
パラメーターのデフォルト値は、resume
です。- このパラメーターを
pause
に設定すると、リクエスト側のビデオが転送されません。リクエスト側のビデオをキャプチャーして転送するには、後でPlanetKitCall
のresumeMyVideo()
を呼び出す必要があります。
ビデオ通話を有効にする
ビデオ通話のリクエスト側がenableVideo()
を呼び出すと、リクエスト受信者のビデオが一時停止された状態でビデオ通話が有効になります。リクエスト受信者がビデオを送るには、resumeMyVideo()
を呼び出す必要があります。
PlanetKit 6.0から1対1通話でレスポンスタイプ(ビデオ一時停止またはビデオ伝送)を設定する機能は、サポートされなくなりました。これにより、ビデオ通話を有効にすると、リクエスト受信者のビデオは一時停止状態になります。
関連イベントであるpeerVideoDidPause
とpeerVideoDidResume
について詳しくは、ビデオの一時停止イベントを参照してください。
ビデオ通話を無効にする
ビデオ通話の途中でビデオストリーミングを中止したい場合は、disableReason
の値と共にdisableVideo()
を呼び出します。
リジェクトの流れの例
enableVideo()
リクエストの受信者がビデオ通話に参加したくなければ、リクエストをリジェクトできます。このとき、通話の手順は以下のようになります。
グループ通話
グループ通話でビデオ通話を有効または無効にするには、PlanetKitConference
の次のメソッドを使用します。
メソッド | 説明 | 関連イベントコールバック |
---|---|---|
enableVideo() | ビデオ通話を有効にすることをリクエストします。 | peersVideoDidUpdate (state= enabled ) |
disableVideo() | ビデオ通話を無効にすることをリクエストします。 参考:1対1通話とは違って、グループ通話では disableReason は必要ありません。 | peersVideoDidUpdate (state= disabled ) |
peersVideoDidUpdate
ではenabled
、disabled
、paused
の3つのステータスを渡します。
ステータスがpaused
の場合、pauseReason
を参照して必要な作業を行う必要があります。詳しくは、ビデオの一時停止イベントを参照してください。
リクエスト側のビデオの初期状態
enableVideo()
のinitialMyVideoState
パラメーターで、リクエスト側のビデオの初期状態を設定できます。このパラメーターの値は、PlanetKitInitialMyVideoState
列挙型で定義された次の値のいずれかになります。
resume
:カメラがオンになり、カメラでキャプチャーしたビデオが転送されます。pause
:カメラがオフのままで、ビデオは転送されません。
initialMyVideoState
パラメーターのデフォルト値は、resume
です。- このパラメーターを
pause
に設定すると、リクエスト側のビデオが転送されません。リクエスト側のビデオをキャプチャーして転送するには、後でPlanetKitConference
のresumeMyVideo()
を呼び出す必要があります。
ビデオ通話を有効にする
ビデオ通話をリクエストした側がenableVideo()
を呼び出すと、他の参加者はそれぞれPlanetKitPeerControl
のstartVideo()
を呼び出し、そのストリームを受け取るかどうかを決定する必要があります。
PlanetKitPeerControl
の使い方について詳しくは、グループビデオ通話のサンプルコードを参照してください。
ビデオ通話を無効にする
グループビデオ通話の途中でビデオストリームを中止するには、disableVideo()
を呼び出します。
インターフェースの変更
グループ通話でのビデオ通話の有効化に関するイベントのインターフェースが以下のように変更されました。
SDKバージョン | API |
---|---|
PlanetKit 4.3以上 | peersVideoDidUpdate |
PlanetKit 4.0~4.2 | evtConfVideoUpdated |
PlanetKit 4.0未満 | evtConfUpdated |
関連API
ビデオ通話の有効化と無効化に関連するAPIは次のとおりです。
共通
1対1通話
メソッド
-
PlanetKitMakeCallSettingBuilder
のwithResponseOnEnableVideo()
-
PlanetKitVerifyCallSettingBuilder
のwithResponseOnEnableVideo()
-
PlanetKitCall
のenableVideo()
-
PlanetKitCall
のdisableVideo()
-
PlanetKitCall
のresumeMyVideo()
イベント
グループ通話
メソッド
-
PlanetKitConference
のenableVideo()
-
PlanetKitConference
のdisableVideo()
-
PlanetKitConference
のresumeMyVideo()