TUIRoom (iOS)の統合

コンポーネントの説明

TUIRoomはオープンソースのオーディオビデオUIコンポーネントであり、プロジェクトにTUIRoomコンポーネントを統合することにより、数行のコードを書くだけで、Appに画面共有、美顔、低遅延ビデオ通話などを組み込むことができます。TUIRoomはまた、AndroidWindowsMacなどのプラットフォームでもサポートしています。基本機能は下図のとおりです:
説明:
TUIKitシリーズコンポーネントはTencent CloudのTRTCIMという2つの基本的なPaaSサービスを同時に使用し、TRTCをアクティブにした後、IMサービスを同期的にアクティブにすることができます。IMサービスの課金ルールの詳細については、Instant Messagingの料金説明をご参照ください。TRTCをアクティブにすると、デフォルトでは、100DAUまでサポートするIM SDK体験版もアクティブになります。




コンポーネントの統合

ステップ1:TUIRoomコンポーネントのインポート

cocoapodsによってコンポーネントをインポートします。具体的な手順については、以下のとおりです:
1. プロジェクトのPodfileファイルと同じ階層のディレクトリ下にTUIRoomフォルダを作成します。
2. クリックしてGithub/TUIRoomに進み、コードのクローン/ダウンロードを選択した後、TUIRoom/iOS/ディレクトリ下のSourceResourcesTUIBeautyTXAppBasicフォルダ、TUIRoom.podspecファイルを、ステップ1`で作成したTUIRoomフォルダ下にコピーします。
3. Podfileファイル内に以下の依存関係を追加します。その後、pod installコマンドを実行すると、インポートが完了します。
# :path => "TUIRoom.podspecを指定する相対パス"
pod 'TUIRoom', :path => "./TUIRoom/TUIRoom.podspec", :subspecs => ["TRTC"]
# :path => "TXAppBasic.podspecを指定する相対パス"
pod 'TXAppBasic', :path => "./TUIRoom/TXAppBasic/"
# :path => "TUIBeauty.podspecを指定する相対パス"
pod 'TUIBeauty', :path => "./TUIRoom/TUIBeauty/"
ご注意:
SourceResourcesフォルダとTUIRoom.podspecファイルは同一のディレクトリ下にある必要があります。
TXAppBasic.podspecはTXAppBasicフォルダ下にあります。
TUIBeauty.podspecはTCBeautyKitフォルダ下にあります。

ステップ2:権限の設定

オーディオビデオ機能を使用するには、マイクおよびカメラの使用権限を付与する必要があります。AppのInfo.plistで以下の2項を追加します。これらはシステムが権限付与ダイアログボックスをポップアップする際に表示される、マイクとカメラのメッセージにそれぞれ対応します。
<key>NSCameraUsageDescription</key>
<string>RoomAppはカメラへのアクセス権限が必要です。有効にしないとレコーディングしたビデオの画面は出ません</string>
<key>NSMicrophoneUsageDescription</key>
<string>RoomAppはマイクへのアクセス権限が必要です。有効にないと、レコーディングしたビデオの音声は出ません</string>




ステップ3:TUIコンポーネントリポジトリの作成と初期化

Objective-C
Swift
@import TUIRoom;
@import TUICore;

// 1.コンポーネントのログイン
[TUILogin login:@"あなたのSDKAppID" userID:@あなたのUserID" userSig:@"あなたのUserSig" succ:^{

} fail:^(int code, NSString *msg) {

}];
// 2.TUIRoomインスタンスの初期化
TUIRoom *tuiRoom = [TUIRoom sharedInstance];
```

import TUIRoom
import TUICore

// 1.コンポーネントのログイン
TUILogin.login("あなたのSDKAppID", userID: "あなたのUserID", userSig: "あなたのUserSig") {

} fail: { code, msg in

}

// 2.TUIRoomインスタンスの初期化
let tuiRoom = TUIRoom.sharedInstance
```

パラメータの説明
SDKAppIDTRTCアプリケーションIDです。Tencent Cloud TRTCサービスをアクティブ化していない場合は、Tencent Cloud TRTCコンソールに進み、新しいTRTCアプリケーションを作成した後、アプリケーション情報をクリックすると、SDKAppID情報が次の図のように表示されます:


SecretKeyTRTC アプリケーションキーであり、SDKAppIDに対応しています。TRTCアプリケーション管理に進むと、SecretKey情報が上図のように表示されます。
UserID:現在のユーザーのIDです。文字列タイプであり、長さは32バイト以内とし、特殊文字の使用はサポートしていません。英語または数字の使用をお勧めします。業務の実際のアカウントシステムと組み合わせてご自身で設定することができます。
UserSig:SDKAppId、UserID,SecretKeyなどの情報に基づく計算によって得られるセキュリティ保護署名です。ここをクリックするとデバッグ用のUserSigがオンラインで直接生成されます。また当社のTUIRoomデモプロジェクトを参照してご自身で計算することもできます。その他の情報については、UserSigの計算、使用方法をご参照ください。

ステップ4:多人数オーディオビデオインタラクションの実装

1. 管理者が多人数オーディオビデオインタラクティブルームを作成できるようにします
Objective-C
Swift
Objective-C
Swift
@import TUIRoom;

[tuiRoom createRoomWithRoomId:12345 speechMode:TUIRoomFreeSpeech isOpenCamera:YES isOpenMicrophone:YES];

import TUIRoom

tuiRoom.createRoom(roomId: 12345, speechMode: .freeSpeech, isOpenCamera: true, isOpenMicrophone: true)
```

@import TUIRoom;

[tuiRoom enterRoomWithRoomId:12345 isOpenCamera:YES isOpenMicrophone:YES]

import TUIRoom

tuiRoom.enterRoom(roomId: 12345, isOpenCamera: true, isOpenMicrophone: true)
```


ステップ5:ルーム管理(オプション)

1. 管理者によるルーム解散 TUIRoomCore#destroyRoom
Objective-C
Swift
@import TUIRoom;

[[TUIRoomCore shareInstance] destroyRoom:^(NSInteger code, NSString * _Nonnull message) {

}];
```

import TUIRoom

TUIRoomCore.shareInstance().destroyRoom { [weak self] _, _ in
guard let self = self else { return }
self.navigationController?.popViewController(animated: true)
}
```

2. メンバーの退室 TUIRoomCore#leaveRoom
Objective-C
Swift
@import TUIRoom;

[[TUIRoomCore shareInstance] leaveRoom:^(NSInteger code, NSString * _Nonnull message) {

}];
```

import TUIRoom

TUIRoomCore.shareInstance().leaveRoom { [weak self] _, _ in
guard let self = self else { return }
self.navigationController?.popViewController(animated: true)
}
```


ステップ6:画面共有(オプション)

画面共有TUIRoomCore#startScreenCaptureを実装します。画面共有プロジェクトの設定については、リアルタイム画面共有(iOS)をご参照ください。
Objective-C
Swift
@import TUIRoom;
@import TXLiteAVSDK_Professional;

TRTCVideoEncParam *params = [[TRTCVideoEncParam alloc] init];
params.videoResolution = TRTCVideoResolution_1280_720;
params.resMode = TRTCVideoResolutionModePortrait;
params.videoFps = 10;
params.enableAdjustRes = NO;
params.videoBitrate = 1500;

[[TUIRoomCore shareInstance] startScreenCapture:param];
```

import TUIRoom

// 画面共有
let params = TRTCVideoEncParam()
params.videoResolution = TRTCVideoResolution._1280_720
params.resMode = TRTCVideoResolutionMode.portrait
params.videoFps = 10
params.enableAdjustRes = false
params.videoBitrate = 1500
TUIRoomCore.shareInstance().startScreenCapture(params)

```


よくあるご質問

CocoaPodsをインストールするにはどうすればよいですか?

端末のウィンドウに次のコマンドを入力します(事前にMac にRuby環境をインストールしてください)。
sudo gem install cocoapods
説明:
ご要望やフィードバックなどがございましたら、colleenyu@tencent.comまでご連絡ください。