TUIRoom (iOS)の統合
コンポーネントの説明
TUIRoomはオープンソースのオーディオビデオUIコンポーネントであり、プロジェクトにTUIRoomコンポーネントを統合することにより、数行のコードを書くだけで、Appに画面共有、美顔、低遅延ビデオ通話などを組み込むことができます。TUIRoomはまた、Android、Windows、Macなどのプラットフォームでもサポートしています。基本機能は下図のとおりです:
説明:
TUIKitシリーズコンポーネントはTencent CloudのTRTCとIMという2つの基本的なPaaSサービスを同時に使用し、TRTCをアクティブにした後、IMサービスを同期的にアクティブにすることができます。IMサービスの課金ルールの詳細については、Instant Messagingの料金説明をご参照ください。TRTCをアクティブにすると、デフォルトでは、100DAUまでサポートするIM SDK体験版もアクティブになります。
|
コンポーネントの統合
ステップ1:TUIRoomコンポーネントのインポート
cocoapodsによってコンポーネントをインポートします。具体的な手順については、以下のとおりです:
1. プロジェクトの
Podfile
ファイルと同じ階層のディレクトリ下にTUIRoom
フォルダを作成します。2. クリックしてGithub/TUIRoomに進み、コードのクローン/ダウンロードを選択した後、TUIRoom/iOS/ディレクトリ下の
Source
、Resources
、TUIBeauty
、TXAppBasicフォルダ、
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/"
ご注意:
Source
、Resources
フォルダと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コンポーネントリポジトリの作成と初期化
@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 TUIRoomimport TUICore// 1.コンポーネントのログインTUILogin.login("あなたのSDKAppID", userID: "あなたのUserID", userSig: "あなたのUserSig") {} fail: { code, msg in}// 2.TUIRoomインスタンスの初期化let tuiRoom = TUIRoom.sharedInstance```
パラメータの説明:
SDKAppID:TRTCアプリケーションIDです。Tencent Cloud TRTCサービスをアクティブ化していない場合は、Tencent Cloud TRTCコンソールに進み、新しいTRTCアプリケーションを作成した後、アプリケーション情報をクリックすると、SDKAppID情報が次の図のように表示されます:
SecretKey:TRTC アプリケーションキーであり、SDKAppIDに対応しています。TRTCアプリケーション管理に進むと、SecretKey情報が上図のように表示されます。
UserID:現在のユーザーのIDです。文字列タイプであり、長さは32バイト以内とし、特殊文字の使用はサポートしていません。英語または数字の使用をお勧めします。業務の実際のアカウントシステムと組み合わせてご自身で設定することができます。
UserSig:SDKAppId、UserID,SecretKeyなどの情報に基づく計算によって得られるセキュリティ保護署名です。ここをクリックするとデバッグ用のUserSigがオンラインで直接生成されます。また当社のTUIRoomデモプロジェクトを参照してご自身で計算することもできます。その他の情報については、UserSigの計算、使用方法をご参照ください。
ステップ4:多人数オーディオビデオインタラクションの実装
1. 管理者が多人数オーディオビデオインタラクティブルームを作成できるようにします。
@import TUIRoom;[tuiRoom createRoomWithRoomId:12345 speechMode:TUIRoomFreeSpeech isOpenCamera:YES isOpenMicrophone:YES];
import TUIRoomtuiRoom.createRoom(roomId: 12345, speechMode: .freeSpeech, isOpenCamera: true, isOpenMicrophone: true)```
@import TUIRoom;[tuiRoom enterRoomWithRoomId:12345 isOpenCamera:YES isOpenMicrophone:YES]
import TUIRoomtuiRoom.enterRoom(roomId: 12345, isOpenCamera: true, isOpenMicrophone: true)```
ステップ5:ルーム管理(オプション)
1. 管理者によるルーム解散 TUIRoomCore#destroyRoom。
@import TUIRoom;[[TUIRoomCore shareInstance] destroyRoom:^(NSInteger code, NSString * _Nonnull message) {}];```
import TUIRoomTUIRoomCore.shareInstance().destroyRoom { [weak self] _, _ inguard let self = self else { return }self.navigationController?.popViewController(animated: true)}```
2. メンバーの退室 TUIRoomCore#leaveRoom。
@import TUIRoom;[[TUIRoomCore shareInstance] leaveRoom:^(NSInteger code, NSString * _Nonnull message) {}];```
import TUIRoomTUIRoomCore.shareInstance().leaveRoom { [weak self] _, _ inguard let self = self else { return }self.navigationController?.popViewController(animated: true)}```
ステップ6:画面共有(オプション)
@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_720params.resMode = TRTCVideoResolutionMode.portraitparams.videoFps = 10params.enableAdjustRes = falseparams.videoBitrate = 1500TUIRoomCore.shareInstance().startScreenCapture(params)```
よくあるご質問
CocoaPodsをインストールするにはどうすればよいですか?
端末のウィンドウに次のコマンドを入力します(事前にMac にRuby環境をインストールしてください)。
sudo gem install cocoapods
説明:
ご要望やフィードバックなどがございましたら、colleenyu@tencent.comまでご連絡ください。