Web

ここでは主に、現在のTRTCルームから自主的に退出する方法と、どのような状況下で強制的に退出させられるかについてご説明します。


TRTC Web SDKの使用中には、以下のオブジェクトが頻繁に登場します。
Client オブジェクト。ローカルクライアントを表します。Clientクラスのメソッドにより、通話ルームへの参加、ローカルストリーミングの公開、リモートストリーミングの閲覧などの機能を提供します。
Streamオブジェクト。オーディオビデオストリーミングオブジェクトを表し、ローカルのオーディオビデオストリーミングオブジェクトLocalStream、およびリモート側のオーディオビデオストリーミングオブジェクトRemoteStreamが含まれます。Streamクラスのメソッドでは主に、オーディオビデオストリーミングオブジェクトのアクションを提供し、これにはオーディオおよびビデオの再生コントロールが含まれます。

ステップ1:前のステップの完了

ドキュメント入室を参照し、clientを作成して入室します。

ステップ2:現在のルームから自主的に退出する

通話終了時は、Client.leave()メソッドを呼び出して、オーディオビデオ通話ルームを退出し、すべてのオーディオビデオ通話によるセッションが終了します。
await client.leave();

ステップ3:現在のルームから退出させられる

ユーザーが自主的に退室する以外に、次のような場合、ユーザーはCLIENT_BANNEDイベントを受信します。これは、そのユーザーが退室させられたことを表します。
client.on('client-banned', error => {
console.error('client-banned observed: ' + error.message);
// client-banned observed: client was banned because of duplicated userId joining the room.
// client-banned observed: client was banned because of you got banned by account admin
});
状況1:同名のユーザーによって現在のルームから強制退出させられる 1つのルーム内に、userIdが同じで、ロールがどちらもキャスターであるユーザーが同時に現れた場合、先に入室していたユーザーがルームから強制退出させられます。 例えば、2名のユーザーA、Bが、同一のuserIdで相次いで入室した場合、AはBによって退室させられます。 同名ユーザーによる同一ルームへの同時入室は許可されない行為であり、双方のオーディオビデオ通話に異常を起こすおそれがあるため、このような状況を避けなければなりません。
状況2:サーバーAPIによって現在のルームから強制退出させられる、または現在のルームが解散される サーバー側のRemoveUser | RemoveUserByStrRoomIdインターフェースによって、あるユーザーをあるTRTCルームから強制退出させることができます。このユーザーは退室させられると、CLIENT_BANNEDイベントを受信します。あるいは、サーバー側のDismissRoom | DismissRoomByStrRoomIdインターフェースによって、あるTRTCルームを解散させることができます。ルームの解散後、このルームのすべてのユーザーはCLIENT_BANNEDイベントを受信します。