
Podfile 파일을 열고 아래의 내용을 추가합니다.Podfile 파일이 없을 경우, pod init 명령어로 먼저 파일을 새로 생성한 다음 아래의 내용을 추가합니다.target 'Your Project' dopod ’TXLiteAVSDK_TRTC’end
pod install
Info.plist 파일에 카메라 및 마이크 신청 권한을 추가합니다.Key | Value |
Privacy - Camera Usage Description | 카메라 권한을 사용하는 이유를 설명합니다. 예를 들어, 카메라 액세스 권한이 필요한 경우 카메라 활성화 후 비디오 채팅을 해야만 화면이 나타나게 됩니다. |
Privacy - Microphone Usage Description | 마이크 권한을 사용하는 이유를 설명합니다. 예를 들어, 마이크 액세스 권한이 필요한 경우 마이크 활성화 후 채팅을 해야만 소리가 나게 됩니다. |
TRTCCloud 인스턴스를 생성합니다.// trtcCloud 인스턴스 생성_trtcCloud = [TRTCCloud sharedInstance];_trtcCloud.delegate = self;
delegate 속성을 설정하고 이벤트 콜백을 등록한 다음, 관련 이벤트와 오류 공지를 리슨합니다.// 오류 공지를 수신하여 사용자에게 공지해야 함- (void)onError:(TXLiteAVError)errCode errMsg:(NSString *)errMsg extInfo:(NSDictionary *)extInfo {if (ERR_ROOM_ENTER_FAIL == errCode) {[self toastTip:@"방 입장 실패"];[self.trtcCloud exitRoom];}}
매개변수 이름 | 필드 유형 | 보충 설명 | 입력 예시 |
sdkAppId | 숫자 | 1400000123 | |
userId | 문자열 | 영어 알파벳 대소문자(a-z, A-Z)와 숫자(0-9), 언더바(_), 대시 부호(-)만 허용됩니다. 실제 계정 시스템에 맞게 설정할 것을 권장합니다. | test_user_001 |
userSig | 문자열 | eJyrVareCeYrSy1SslI... | |
roomId | 숫자 | 숫자 유형의 방 번호입니다. 문자열 형식의 방 번호를 사용하려면 TRTCParams에서 strRoomId를 사용하십시오. | 29834 |
//예시 코드: 로컬 멀티미디어 스트림 배포[self.trtcCloud startLocalPreview:_isFrontCamera view:self.view];//로컬 비디오 인코딩 매개변수 설정TRTCVideoEncParam *encParams = [TRTCVideoEncParam new];encParams.videoResolution = TRTCVideoResolution_640_360;encParams.videoBitrate = 550;encParams.videoFps = 15;[self.trtcCloud setVideoEncoderParam:encParams];
role을 **TRTCRoleType.anchor**로 설정하여 현재 사용자의 역할이 호스트라는 것을 표시합니다.roomId의 값이 방 번호인 멀티미디어 방을 생성하고 appScene 매개변수를 지정할 수 있습니다.result가 0보다 크면 입장 성공이며, 해당 값은 입장에 걸리는 시간을 밀리초(ms) 단위로 나타냅니다. result가 0보다 작으면 입장 실패이며, 해당 값은 입장 실패의 에러 코드입니다.- (void)enterRoom() {TRTCParams *params = [TRTCParams new];params.sdkAppId = SDKAppID;params.roomId = _roomId;params.userId = _userId;params.role = TRTCRoleAnchor;params.userSig = [GenerateTestUserSig genTestUserSig:params.userId];[self.trtcCloud enterRoom:params appScene:TRTCAppSceneLIVE];}- (void)onEnterRoom:(NSInteger)result {if (result > 0) {[self toastTip:@"방 입장 성공"];} else {[self toastTip:@"방 입장 실패"];}}
role을 **TRTCRoleType.audience**로 설정하여 현재 사용자의 역할이 시청자라는 것을 표시합니다.roomId가 가리키는 멀티미디어 룸에 입장하고 appScene 매개변수를 지정할 수 있습니다.userId를 사용해 startRemoteView(userId, view: view)를 호출하여 호스트의 화면을 볼 수 있습니다.userId를 사용해 startRemoteView(userId, view: view)를 호출하여 호스트의 화면을 볼 수 있습니다.//예시 코드: 시청자 마이크 켜짐[self.trtcCloud switchRole:TRTCRoleAnchor];[self.trtcCloud startLocalAudio:TRTCAudioQualityMusic];[self.trtcCloud startLocalPreview:_isFrontCamera view:self.view];//예시 코드: 시청자 마이크 꺼짐[self.trtcCloud switchRole:TRTCRoleAudience];[self.trtcCloud stopLocalAudio];[self.trtcCloud stopLocalPreview];
roomId와 userId를 {"roomId": "978","userId": "userB"}` 포맷으로 만든 매개변수를 인터페이스 함수에 전달해야 합니다.connectOtherRoom()을 통해 방 '002'의 호스트 B와 크로스 룸 통화가 연결됩니다. 그 후, 방 '001'의 사용자는 호스트 B의 onUserVideoAvailable(B, available: true) 콜백과 onUserAudioAvailable(B, available: true) 콜백을 받게 됩니다. 방 '002'의 사용자는 호스트 A의 onUserVideoAvailable(A, available: true) 콜백과 onUserAudioAvailable(A, available: true) 콜백을 받게 됩니다.//예시 코드: 크로스 룸 마이크 연결 PKNSMutableDictionary * jsonDict = [[NSMutableDictionary alloc] init];[jsonDict setObject:@([_otherRoomIdTextField.text intValue]) forKey:@"roomId"];[jsonDict setObject:_otherUserIdTextField.text forKey:@"userId"];NSData* jsonData = [NSJSONSerialization dataWithJSONObject:jsonDict options:NSJSONWritingPrettyPrinted error:nil];NSString* jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];[self.trtcCloud connectOtherRoom:jsonString];
// 퇴장 호출 후 onExitRoom 이벤트 콜백 대기[self.trtcCloud exitRoom];- (void)onExitRoom:(NSInteger)reason {NSLog(@"방 퇴장: reason: %ld", reason)}
onExitRoom 콜백을 받은 후 다른 멀티미디어 SDK를 재실행하십시오. 그렇지 않으면 하드웨어 점유율 문제가 나타날 수 있습니다.피드백