ここでは主に、現在のTRTCルームから自主的に退出する方法と、どのような状況下で強制的に退出させられるかについてご説明します。
TRTC Web SDKの使用中には、以下のオブジェクトが頻繁に登場します。
ドキュメント入室を参照し、clientを作成して入室します。
通話終了時は、Client.leave()メソッドを呼び出して、オーディオビデオ通話ルームを退出し、すべてのオーディオビデオ通話によるセッションが終了します。
await client.leave();
ユーザーが自主的に退室する以外に、次のような場合、ユーザーは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
イベントを受信します。
この記事はお役に立ちましたか?