ビデオ通話の有効化
音声通話中にビデオ通話に切り替えたり、ビデオ通話中にもう一度音声通話に切り替えたりすることができます。これを、ビデオ通話を有効または無効にすると表現します。
ビデオ通話の有効化をリクエストする手順は、通話タイプによって異なります。ここでは、通話タイプによってビデオ通話を有効または無効にする方法について説明します。
| 対応する通話タイプ | SDKの最低バージョン |
|---|---|
| 1対1通話、グループ通話(カンファレンス) | WebPlanetKit 3.1 |
1対1通話
1対1通話でビデオ通話を有効または無効にするには、Callの次のメソッドを使用します。
| メソッド | 説明 | 関連イベントコールバック |
|---|---|---|
enableVideo() | ビデオ通話を有効にすることをリクエストします。 | evtVideoEnabledByPeerAndMyVideoPaused |
disableVideo() | ビデオ通話を無効にすることをリクエストします。 | evtVideoDisabledByPeer |
リクエスト側のビデオの初期状態
enableVideo()のEnableVideoOptionsにブーリアン型のcameraOnを追加して、リクエスト側の初期ビデオ状態を設定できます。cameraOnの値によって、ビデオの初期状態は次のように設定されます。
cameraOnがtrueの場合、カメラがオンになり、カメラでキャプチャーしたビデオが転送されます。cameraOnがfalseの場合、カメラがオフのままで、ビデオは転送されません。
- 通話開始APIとビデオ通話転換APIの
cameraOnのデフォルト値は、trueです。 cameraOnをfalseに設定すると、ローカルユーザーのビデオが転送されません。以降、ローカルユーザーのビデオをキャプチャーして転送するには、CallのresumeMyVideo()を呼び出す必要があります。- WebPlanetKit 5.2以下のバージョンでは、
cameraOn機能をvideoEnabledという名前で提供しています。
ビデオ通話を有効にする
ビデオ通話のリクエスト側がenableVideo()を呼び出すと、リクエスト受信者のビデオが一時停止された状態でビデオ通話が有効になります。リクエスト受信者がビデオを送るには、resumeMyVideo()を呼び出す必要があります。
WebPlanetKit 6.0から1対1通話でレスポンスタイプ(ビデオ一時停止またはビデオ伝送)を設定する機能は、サポートされなくなりました。これにより、ビデオ通話を有効にすると、リクエスト受信者のビデオは一時停止状態になります。
関連イベントであるevtPeerVideoPausedとevtPeerVideoResumedについて詳しくは、ビデオの一時停止イベントを参照してください。
ビデオ通話を無効にする
ビデオ通話の途中でビデオストリーミングを中止したい場合は、disableVideo()を呼び出します。
ネイティブPlanetKitとは異なり、WebPlanetKitは1対1通話でdisableVideo()を呼び出す際にdisableReasonを伝える機能をサポートしていません。
リジェクトの流れの例
enableVideo()リクエストの受信者がビデオ通話に参加したくなければ、リクエストをリジェクトできます。このとき、通話の手順は以下のようになります。
グループ通話
グループ通話でビデオ通話を有効または無効にするには、Conferenceの次のメソッドを使用します。
| メソッド | 説明 | 関連イベントコールバック |
|---|---|---|
enableVideo() | ビデオ通話を有効にすることをリクエストします。 | evtPeersVideoUpdated(state= ENABLED) |
disableVideo() | ビデオ通話を無効にすることをリクエストします。 | evtPeersVideoUpdated(state= DISABLED) |
evtPeersVideoUpdatedではENABLED、DISABLED、PAUSEDの3つのステータスを渡します。
ステータスがPAUSEDの場合、pauseReasonを参照して必要な作業を行う必要があります。詳しくは、ビデオの一時停止イベントを参照してください。
リクエスト側のビデオの初期状態
enableVideo()のEnableVideoOptionsにブーリアン型のcameraOnを追加して、リクエスト側の初期ビデオ状態を設定できます。cameraOnの値によって、ビデオの初期状態は次のように設定されます。
cameraOnがtrueの場合、カメラがオンになり、カメラでキャプチャーしたビデオが転送されます。cameraOnがfalseの場合、カメラがオフのままで、ビデオは転送されません。
- 通話開始APIとビデオ通話転換APIの
cameraOnのデフォルト値は、trueです。 cameraOnをfalseに設定すると、ローカルユーザーのビデオが転送されません。以降、ローカルユーザーのビデオをキャプチャーして転送するには、CallのresumeMyVideo()を呼び出す必要があります。- WebPlanetKit 5.2以下のバージョンでは、
cameraOn機能をvideoEnabledという名前で提供しています。
ビデオ通話を有効にする
ビデオ通話をリクエストした側がenableVideo()を呼び出すと、他の参加者はそれぞれrequestPeerVideo()を呼び出し、そのストリームを受け取るかどうかを決定する必要があります。
ビデオ通話を無効にする
グループビデオ通話の途中でビデオストリームを中止するには、disableVideo()を呼び出します。
関連API
ビデオ通話の有効化と無効化に関連するAPIは次のとおりです。