// SDKインスタンス(シングルトンモード)を作成し、イベント監視装置(リスナー)を設定します// Create trtc instance(singleton) and set up event listenersmCloud = TRTCCloud.sharedInstance(getApplicationContext());mCloud.setListener(this);
// SDKインスタンス(シングルトンモード)を作成し、イベント監視装置(リスナー)を設定します// Create trtc instance(singleton) and set up event listeners_trtcCloud = [TRTCCloud sharedInstance];_trtcCloud.delegate = self;
// SDKインスタンス(シングルトンモード)を作成し、イベント監視装置(リスナー)を設定します// Create trtc instance(singleton) and set up event listenerstrtc_cloud_ = getTRTCShareInstance();trtc_cloud_->addCallback(this);
独自のクラスに**TRTCCloudListener**を継承させ、onError関数をオーバーロードし、最後に** setListener **インターフェイスを介してthisポインターをSDKに設定して、現在のクラスでSDKからのコールバックイベントを監視できます。```java// SDKイベントを監視し、「カメラが許可されていません」などのエラーログを印刷します// Listen to the "onError" event and print logs for errors such as "camera is not authorized"mCloud = TRTCCloud.sharedInstance(getApplicationContext());mCloud.setListener(this);@Overridepublic void onError(int errCode, String errMsg, Bundle extraInfo) {if (errCode == TXLiteAVCode.ERR_CAMERA_NOT_AUTHORIZED) {Log.d(TAG, "Current application is not authorized to use the camera");}}```
独自のクラスに**TRTCCloudDelegate**を継承させ、onError関数をオーバーロードし、最後にTRTCCCloudの**delegate**属性を介してthisポインターをSDKに設定して、現在のクラスでSDKからのコールバックイベントを監視できます。```ObjectiveC// SDKイベントを監視し、「カメラが許可されていません」などのエラーログを印刷します// Listen to the "onError" event and print logs for errors such as "camera is not authorized"_trtcCloud = [TRTCCloud sharedInstance];_trtcCloud.delegate = self;- (void)onError:(TXLiteAVError)errCodeerrMsg:(nullable NSString *)errMsgextInfo:(nullable NSDictionary *)extInfo{if (ERR_CAMERA_NOT_AUTHORIZED == errCode) {NSString *errorInfo = @"Current application is not authorized to use the camera:";errorInfo = [errorInfo stringByAppendingString errMsg];[self toastTip:errorInfo];}}```
独自のクラスに**ITRTCCloudCallback**を継承させ、onError関数をオーバーロードし、最後に**addCallback**インターフェイスを介してthisポインターをSDKに設定して、現在のクラスでSDKからのコールバックイベントを監視できます。```C++// SDKイベントを監視し、「カメラが許可されていません」などのエラーログを印刷します// Listen to the "onError" event and print logs for errors such as "camera is not authorized"trtc_cloud_ = getTRTCShareInstance();trtc_cloud_->addCallback(this);// "onError」関数をオーバーロードしますvoid onError(TXLiteAVError errCode, const char* errMsg, void* extraInfo) {if (errCode == ERR_CAMERA_NOT_AUTHORIZED) {printf("Current application is not authorized to use the camera");}}```
TRTCParams
とTRTCAppScene
を入力してください。これらについては、以下で詳しく説明します:TRTCAppSceneVideoCall
とTRTCAppSceneAudioCall
の2つのオプションがあり、それぞれビデオ通話と音声通話です。このモードは、1対1のオーディオビデオ通話、または参加者が300人未満のオンライン会議に適しています。TRTCAppSceneLIVE
とTRTCAppSceneVoiceChatRoom
の2つのオプションがあり、それぞれビデオライブストリーミングとオーディオライブストリーミングです。このモードは、10万人未満のオンラインライブストリーミングシナリオに適していますが、以下に説明するTRTCParamsパラメータでロール(role)のフィールドを指定する必要があります。つまり、ルーム内のユーザーは、**ホスト(anchor)と視聴者(audience)**の2つの異なる役割に分けられます。パラメータ名 | フィールドの意味 | 補足説明 | データのタイプ | 記入例 |
SDKAppID | アプリケーションID | このSDKAppIDはTencent Real-Time Communicationコンソールにあります。見つからない場合は、「アプリケーションの作成」ボタンをクリックして新しいアプリケーションを作成してください。 | 数字 | 1400000123 |
userId | ユーザーID | すなわちユーザー名です。大文字と小文字の英字(a-z、A-Z)、数字(0-9)、アンダースコア、およびハイフンのみが許可されます。TRTCは、2つの異なるデバイスで同時に入室する同じuserIdをサポートしていないことに注意してください。そうでない場合には、互いに干渉します。 | 文字列 | 「denny」または「123321」 |
userSig | 入室認証証明書 | 文字列 | eJyrVareCeYrSy1SslI... | |
roomId | ルーム番号 | 数値タイプのルーム番号。strRoomIdとroomIdを混在させることはできないため、文字列タイプのルーム番号を使用する場合は、roomIdフィールドの代わりにstrRoomIdフィールドを使用することに注意してください。 | 数字 | 29834 |
strRoomId | ルーム番号 | 文字列タイプのルーム番号。strRoomIdとroomIdを混在させることはできません。「123」と123は、TRTCバックグラウンドサービスの同じ部屋ではありません。。 | 数字 | 29834 |
role | ロール | 「キャスター」と「視聴者」の2つの役割に分かれています。このフィールドは、TRTCAppSceneが TRTCAppSceneLIVE またはTRTCAppSceneVoiceChatRoom として指定されている場合にのみ指定してください。 | 列挙値 | TRTCRoleAnchorまたはTRTCRoleAudience |
mCloud = TRTCCloud.sharedInstance(getApplicationContext());mCloud.setListener(mTRTCCloudListener);// TRTC入室パラメータを組み立てるには、TRTCParamsの各フィールドを独自のパラメータに置き換えてください// Please replace each field in TRTCParams with your own parametersTRTCCloudDef.TRTCParams param = new TRTCCloudDef.TRTCParams();params.sdkAppId = 1400000123; // Please replace with your own SDKAppIDparams.userId = "denny"; // Please replace with your own useridparams.roomId = 123321; // Please replace with your own room numberparams.userSig = "xxx"; // Please replace with your own userSigparams.role = TRTCCloudDef.TRTCRoleAnchor;// 「オンラインライブストリーミング」のシーンの場合、ユースケースをTRTC_APP_SCENE_LIVEに設定してください// If your application scenario is a video call between several people, please use "TRTC_APP_SCENE_LIVE"mCloud.enterRoom(param, TRTCCloudDef.TRTC_APP_SCENE_LIVE);
self.trtcCloud = [TRTCCloud sharedInstance];self.trtcCloud.delegate = self;// TRTC入室パラメータを組み立てるには、TRTCParamsの各フィールドを独自のパラメータに置き換えてください// Please replace each field in TRTCParams with your own parametersTRTCParams *params = [[TRTCParams alloc] init];params.sdkAppId = 1400000123; // Please replace with your own SDKAppIDparams.roomId = 123321; // Please replace with your own room numberparams.userId = @"denny"; // Please replace with your own useridparams.userSig = @"xxx"; // Please replace with your own userSigparams.role = TRTCRoleAnchor;// 「オンラインライブストリーミング」のシーンの場合、ユースケースをTRTC_APP_SCENE_LIVEに設定してください// If your application scenario is a video call between several people, please use "TRTC_APP_SCENE_LIVE"[self.trtcCloud enterRoom:params appScene:TRTCAppSceneLIVE];
trtc_cloud_ = getTRTCShareInstance();trtc_cloud_->addCallback(this);// TRTC入室パラメータを組み立てるには、TRTCParamsの各フィールドを独自のパラメータに置き換えてください// Please replace each field in TRTCParams with your own parametersliteav::TRTCParams params;params.sdkAppId = 1400000123; // Please replace with your own SDKAppIDparams.userId = "denny"; // Please replace with your own useridparams.roomId = 123321; // Please replace with your own room numberparams.userSig = "xxx"; // Please replace with your own userSigparams.role = liteav::TRTCRoleAnchor;// 「オンラインライブストリーミング」のシーンの場合、ユースケースをTRTC_APP_SCENE_LIVEに設定してください// If your application scenario is a video call between several people, please use "TRTC_APP_SCENE_LIVE"trtc_cloud_->enterRoom(params, liteav::TRTCAppSceneLIVE);
result
は負の数になり、その値は入室失敗のエラーコードです。// SDKのonEnterRoomイベントを監視し、入室に成功したかどうかを確認します// Listen to the onEnterRoom event of the SDK and learn whether the room is successfully entered@Overridepublic void onEnterRoom(long result) {if (result > 0) {Log.d(TAG, "Enter room succeed");}else{Log.d(TAG, "Enter room failed");}}
// SDKのonEnterRoomイベントを監視し、入室に成功したかどうかを確認します// Listen to the onEnterRoom event of the SDK and learn whether the room is successfully entered- (void)onEnterRoom:(NSInteger)result {if (result > 0) {[self toastTip:@"Enter room succeed!"];}else{[self toastTip:@"Enter room failed!"];}}
// SDKのonEnterRoomイベントを監視し、入室に成功したかどうかを確認します// override to the onEnterRoom event of the SDK and learn whether the room is successfully enteredvoid onEnterRoom(int result) {if (result > 0) {printf("Enter room succeed");}else{printf("Enter room failed");}}
この記事はお役に立ちましたか?