RTC Engine
  • Overview
  • Web
    • Demo のクイックスタート
    • SDK クイックスタート
    • 基本機能
      • 画面共有
      • ライブブロードキャスト
      • メディアデバイス
      • 音量
      • エンコーディング構成ファイルの設定
      • ネットワーク品質の検出
      • 検出能力
    • 高度な機能
      • AI ノイズ低減の有効化
      • ミキシングを有効にします
      • ウォーターマークを有効にします
      • Enable Virtual Background
      • 美顔とエフェクトの有効化
      • データメッセージ
      • キャプチャーとレンタリングのカスタマイズ
    • インターフェースリスト
    • リリース説明
    • 対応するプラットホーム
    • Web に関するよくあるご質問
      • 複数人でのビデオ通話を最適化
      • 制限付き自動再生の処理
      • ファイアウォール制限への対応
      • その他
  • Android
    • Run Sample Code
    • インテグレーション
      • 2. SDK のインポート
      • 3. ルームに入る
      • 4. オーディオ・ビデオストリームのサブスクリプション
      • 5. オーディオ・ビデオストリームのリリース
      • 6. ルームからの退出
      • 7. ネットワーク品質の検出
      • 8. 画面共有の有効化
      • 9. ビデオ品質の設定
      • 10. ビデオの回転
    • ネットワーク品質のテスト
    • キャプチャーとレンタリングのカスタマイズ
    • オーディオキャプチャーと再生のカスタマイズ
    • 顧客インターフェース
      • Overview
      • TRTCCloud
      • TRTCStatistics
      • TRTCCloudListener
      • TXAudioEffectManager
      • TXBeautyManager
      • TXDeviceManager
      • タイプ定義
      • 廃棄インタフェース
      • エラーコード
    • ソリューション
      • リアルタイムコーラス (TUIKaraoke)
        • クイックインテグレーション
        • 実施ステップ
        • 曲の同期
        • 歌詞の同期
        • 音声同期
        • ミクスストリーミングソリューション
        • TRTCKaraoke 関連インターフェース
        • よくあるご質問
    • リリース説明
  • iOS
    • Run Sample Code
    • インテグレーション
      • 2. SDK のインポート
      • 3. ルームに入る
      • 4. オーディオ・ビデオストリームのサブスクリプション
      • 5. オーディオ・ビデオストリームのリリース
      • 6. ルームからの退出
      • 7. ネットワーク品質の検出
      • 8. 画面共有の有効化
      • 9. ビデオ品質の設定
      • 10. ビデオの回転
    • ネットワーク品質のテスト
    • キャプチャーとレンタリングのカスタマイズ
    • オーディオキャプチャーと再生のカスタマイズ
    • 顧客インターフェース
      • Overview
      • TRTCCloud
      • TRTCCloudDelegate
      • TRTCStatistics
      • TXAudioEffectManager
      • TXBeautyManager
      • TXDeviceManager
      • タイプ定義
      • 廃棄インタフェース
      • ErrorCode
    • ソリューション
      • クイックインテグレーション
      • 実施ステップ
      • 曲の同期
      • 歌詞の同期
      • 音声同期
      • ミクスストリーミングソリューション
      • TRTCKaraoke 関連インターフェース
      • よくあるご質問
    • リリース説明
  • macOS
    • Run Sample Code
    • インテグレーション
      • 2. SDK のインポート
      • 3. ルームに入る
      • 4. オーディオ・ビデオストリームのサブスクリプション
      • 5. オーディオ・ビデオストリームのリリース
      • 6. ルームからの退出
      • 7. ネットワーク品質の検出
      • 8. 画面共有の有効化
      • 9. パソコンサウンドの共有
      • 10. ビデオ品質の設定
      • 11. ビデオの回転
    • ハードウェアデバイスのテスト
    • ネットワーク品質のテスト
    • キャプチャーとレンタリングのカスタマイズ
    • オーディオキャプチャーと再生のカスタマイズ
    • 顧客インターフェース
      • Overview
      • TRTCCloud
      • TRTCCloudDelegate
      • TRTCStatistics
      • TXAudioEffectManager
      • TXBeautyManager
      • TXDeviceManager
      • タイプ定義
      • 廃棄インタフェース
      • ErrorCode
      • リリース説明
    • リリース説明
  • Windows
    • Run Sample Code
    • インテグレーション
      • 2. SDK のインポート
      • 3. ルームに入る
      • 4. オーディオ・ビデオストリームのサブスクリプション
      • 5. オーディオ・ビデオストリームのリリース
      • 6. ルームからの退出
      • 7. ネットワーク品質の検出
      • 8. 画面共有の有効化
      • 9. ビデオ品質の設定
      • 10. ビデオの回転
    • ハードウェアデバイスのテスト
    • ネットワーク品質のテスト
    • キャプチャーとレンタリングのカスタマイズ
    • オーディオキャプチャーと再生のカスタマイズ
    • 顧客インターフェース
      • Overview
      • ITRTCCloud
      • ITRTCStatistics
      • TRTCCloudCallback
      • ITXAudioEffectManager
      • ITXDeviceManager
      • タイプ定義
      • 廃棄インタフェース
      • エラーコード
    • リリース説明
  • Electron
    • インテグレーション
      • 1. インターフェースの例
      • 2. SDK のインポート
      • 3. ルームに入る
      • 4. オーディオ・ビデオストリームのサブスクリプション
      • 5. オーディオ・ビデオストリームのリリース
      • 6. ルームからの退出
      • 7. ネットワーク品質の検出
      • 8. 画面共有の有効化
      • 9. パソコンサウンドの共有
      • 10. ビデオ品質の設定
      • 11. ビデオの回転
    • 顧客インターフェース
      • Overview
      • エラーコード
  • Flutter
    • インテグレーション
      • 1. インターフェースの例
      • 2. SDK のインポート
      • 3. ルームに入る
      • 4. オーディオ・ビデオストリームのサブスクリプション
      • 5. オーディオ・ビデオストリームのリリース
      • 6. ルームからの退出
      • 7. ネットワーク品質の検出
      • 8. 画面共有の有効化
      • 9. パソコンサウンドの共有
      • 10. ビデオ品質の設定
      • 11. ビデオの回転
    • 顧客インターフェース
      • Overview
      • エラーコード
  • Unity
    • インテグレーション
      • 1. インターフェースの例
      • 2. SDK のインポート
    • 顧客インターフェース
      • Overview
      • エラーコード
  • QT
    • インテグレーション
      • 1. SDK のインポート
  • Overview
    • Overview
  • 概念
  • Features
  • 性能統計
  • 価格
    • 無料時間
    • RTC-Engine パッケージ
    • サブスクリプションパッケージ期間の課金説明
    • 従量課金
      • 音声・ビデオ時間の課金説明
      • クラウド録画の課金説明
      • ミックストランスコーディングとCDNへのリレーの課金説明
  • よくあるご質問
    • 初心者のよくあるご質問
    • マイグレーションガイド
      • Twilio Video から TRTC への移行
      • 課金
      • Features
      • UserSig
      • ファイアウォール制限
      • インストールパッケージを削減する方法
      • TRTCCalling Web 関連
      • オーディオ・ビデオの品質
      • その他
RTC Engine

6. ルームからの退出

このドキュメントでは、主に現在の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...");
}
}