// 싱글톤 모드에서 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** API를 사용하여 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 함수를 다시 로딩한 후, TRTCCloud의 **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** API를 사용하여 SDK에 대한 this 포인터를 전달하여 현재 클래스의 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");}}```
매개변수 | 설명 | 비고 | 데이터 유형 | 샘플 값 |
SDKAppID | 애플리케이션 ID | 숫자 | 1400000123 | |
userId | 사용자 ID | 사용자 이름. 영어 대문자 및 소문자(a-z, A-Z), 숫자(0-9), 밑줄 및 하이픈만 포함할 수 있습니다. TRTC에서는 하나의 userId가 두 개의 다른 장치에서 동시에 같은 방에 들어갈 수 없습니다. | 문자열 | ‘denny’ 또는 ‘123321’ |
userSig | 방 입장 서명 | UserSig의 안내에 따라 SDKAppID와 userId를 기반으로 userSig를 계산할 수 있습니다. | 문자열 | eJyrVareCeYrSy1SslI... |
roomId | 방 ID | 숫자 유형의 방 ID입니다. 문자열 형식의 방 ID를 사용하려면 roomId 필드 대신 strRoomId 필드만 사용하십시오. strRoomId와 roomId는 함께 사용할 수 없기 때문입니다. | 숫자 | 29834 |
strRoomId | 방 ID | 문자열 유형의 방 ID입니다. strRoomId와 roomId를 혼동하지 마십시오. TRTC 백엔드에서는 ‘123’과 123을 서로 다른 방으로 간주합니다. | 숫자 | 29834 |
role | 역할 | ‘앵커’와 ‘시청자’의 두 가지 역할이 있습니다. 이 필드는 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);
// 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");}}
문제 해결에 도움이 되었나요?