tencent cloud

フィードバック

Android&iOS&Windows&Mac

最終更新日:2024-07-19 15:12:39
    このドキュメントでは、主に現在のTRTCからの自発的な退室方法を紹介し、どのような状況で強制的に退室するかについても紹介します:
    
    

    呼び出しガイド

    手順1:事前手順の完了

    SDKのプロジェクトへのインポートを参照して、SDKのインポートおよびApp権限の設定を完了します。 ドキュメント入室を参照して、入室プロセスを完了してください。

    手順2:現在のルームからの自発的な退室

    exitRoomインターフェースを呼び出すことで現在のルームから退室できます。SDKは、退室後にonExitRoom(int reason)コールバックイベントを介して通知します。
    Android
    iOS&Mac
    Windows
    // 現在のルームから退室します
    mCloud.exitRoom();
    
    self.trtcCloud = [TRTCCloud sharedInstance];
    // 現在のルームから退室します
    [self.trtcCloud exitRoom];
    
    trtc_cloud_ = getTRTCShareInstance();
    // 現在のルームから退室します
    trtc_cloud_->exitRoom();
    
    exitRoomインターフェースを呼び出すと、SDKは、退室プロセスに入ります。これには、2つの非常に重要なタスクがあります:
    キータスク1:退室の公開 ルーム内の他のユーザーに、現在のルームを離れようすることを通知します。ルーム内の他のユーザーは、ユーザーからonRemoteUserLeaveRoomコールバックを受け取ります。そうでない場合には、他のユーザーは当該ユーザーが「デッドロック」していると誤解する可能性があります。
    キータスク2:デバイス権限のリリース ユーザーが退室する前にオーディオビデオストリームを公開している場合、退室プロセスでは、カメラとマイクをオフにしたり、デバイスの使用権をリリースしたりする必要もあります。
    したがって、TRTCCloudインスタンスをリリースしたい場合は、onExitRoomコールバックを受信してからリリースすることをお勧めします。

    手順3:現在のルームからの強制退出

    ユーザーの自発的な退室を除いて、onExitRoom(int reason)コールバックを受け取る2つのケースがあります:
    ケース1:現在のルームからの強制退室 サービス側のRemoveUser | RemoveUserByStrRoomIdインターフェースを介して、特定のユーザーを特定のTRTCルームから強制退室させます。当該ユーザーを強制退室させると、当該ユーザーはonExitRoom(1)のコールバックを受け取ります。
    ケース2:現在のルームが解散される サーバー側のDismissRoom | DismissRoomByStrRoomIdインターフェースを介して、特定のTRTCルームを解散できます。ルームを解散すると、ルーム内のすべてのユーザーはonExitRoom(2)のコールバックを受け取ります。
    Android
    iOS&Mac
    Windows
    // onExitRoomコールバックを監視することで、退室の理由を確認できます
    @Override
    public void onExitRoom(int reason) {
    if (reason == 0) {
    Log.d(TAG, "Exit current room by calling the 'exitRoom' api of sdk ...");
    } else if (reason == 1) {
    Log.d(TAG, "Kicked out of the current room by server through the restful api...");
    } else if (reason == 2) {
    Log.d(TAG, "Current room is dissolved by server through the restful api...");
    }
    }
    
    // onExitRoomコールバックを監視することで、退室の理由を確認できます
    - (void)onExitRoom:(NSInteger)reason {
    if (reason == 0) {
    NSLog(@"Exit current room by calling the 'exitRoom' api of sdk ...");
    } else if (reason == 1) {
    NSLog(@"Kicked out of the current room by server through the restful api...");
    } else if (reason == 2) {
    NSLog(@"Current room is dissolved by server through the restful api...");
    }
    }
    
    // onExitRoomコールバックを監視することで、退室の理由を確認できます
    void onExitRoom(int reason) {
    if (reason == 0) {
    printf("Exit current room by calling the 'exitRoom' api of sdk ...");
    } else if (reason == 1) {
    printf("Kicked out of the current room by server through the restful api...");
    } else if (reason == 2) {
    printf("Current room is dissolved by server through the restful api...");
    }
    }
    
    
    お問い合わせ

    カスタマーサービスをご提供できるため、ぜひお気軽にお問い合わせくださいませ。

    テクニカルサポート

    さらにサポートが必要な場合は、サポートチケットを送信して弊社サポートチームにお問い合わせください。24時間365日のサポートをご提供します。

    電話サポート(24 時間365日対応)