Web
ここでは主に、現在のTRTCルームから自主的に退出する方法と、どのような状況下で強制的に退出させられるかについてご説明します。
TRTC Web SDKの使用中には、以下のオブジェクトが頻繁に登場します。
Client オブジェクト。ローカルクライアントを表します。Clientクラスのメソッドにより、通話ルームへの参加、ローカルストリーミングの公開、リモートストリーミングの閲覧などの機能を提供します。
Streamオブジェクト。オーディオビデオストリーミングオブジェクトを表し、ローカルのオーディオビデオストリーミングオブジェクトLocalStream、およびリモート側のオーディオビデオストリーミングオブジェクトRemoteStreamが含まれます。Streamクラスのメソッドでは主に、オーディオビデオストリーミングオブジェクトのアクションを提供し、これにはオーディオおよびビデオの再生コントロールが含まれます。
ステップ1:前のステップの完了
ステップ2:現在のルームから自主的に退出する
await client.leave();
ステップ3:現在のルームから退出させられる
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
イベントを受信します。