제품 업데이트
Tencent Cloud 오디오/비디오 단말 SDK 재생 업그레이드 및 권한 부여 인증 추가
TRTC 월간 구독 패키지 출시 관련 안내

// 로컬 비디오 이미지의 미리보기 모드 설정: 수평 미러링을 활성화하고 비디오 이미지의 채우기 모드를 설정합니다TRTCCloudDef.TRTCRenderParams param = new TRTCCloudDef.TRTCRenderParams();param.fillMode = TRTCCloudDef.TRTC_VIDEO_RENDER_MODE_FILL;param.mirrorType = TRTCCloudDef.TRTC_VIDEO_MIRROR_TYPE_AUTO;mCloud.setLocalRenderParams(param);// 로컬 카메라 미리보기 활성화(localCameraVideo는 로컬 비디오 이미지를 렌더링하는 데 사용되는 컨트롤입니다)TXCloudVideoView cameraVideo = findViewById(R.id.txcvv_main_local);mCloud.startLocalPreview(true, cameraVideo);// TXDeviceManager를 사용하여 자동 초점을 활성화하고 플래시를 켭니다TXDeviceManager manager = mCloud.getDeviceManager();if (manager.isAutoFocusEnabled()) {manager.enableCameraAutoFocus(true);}manager.enableCameraTorch(true);
self.trtcCloud = [TRTCCloud sharedInstance];// 로컬 비디오 이미지의 미리보기 모드 설정: 수평 미러링을 활성화하고 비디오 이미지의 채우기 모드를 설정합니다TRTCRenderParams *param = [[TRTCRenderParams alloc] init];param.fillMode = TRTCVideoFillMode_Fill;param.mirrorType = TRTCVideoMirrorTypeAuto;[self.trtcCloud setLocalRenderParams:param];// 로컬 카메라 미리보기 활성화(localCameraVideoView는 로컬 비디오 이미지를 렌더링하는 데 사용되는 컨트롤입니다)[self.trtcCloud startLocalPreview:YES view:localCameraVideoView];// TXDeviceManager를 사용하여 자동 초점을 활성화하고 플래시를 켭니다TXDeviceManager *manager = [self.trtcCloud getDeviceManager];if ([manager isAutoFocusEnabled]) {[manager enableCameraAutoFocus:YES];}[manager enableCameraTorch:YES];
self.trtcCloud = [TRTCCloud sharedInstance];// 로컬 비디오 이미지의 미리보기 모드 설정: 수평 미러링을 활성화하고 비디오 이미지의 채우기 모드를 설정합니다TRTCRenderParams *param = [[TRTCRenderParams alloc] init];param.fillMode = TRTCVideoFillMode_Fill;param.mirrorType = TRTCVideoMirrorTypeAuto;[self.trtcCloud setLocalRenderParams:param];// 로컬 카메라 미리보기 활성화(localCameraVideoView는 로컬 비디오 이미지를 렌더링하는 데 사용되는 컨트롤입니다)[self.trtcCloud startLocalPreview:localCameraVideoView];
// 로컬 비디오 이미지의 미리보기 모드 설정: 수평 미러링을 활성화하고 비디오 이미지의 채우기 모드를 설정합니다liteav::TRTCRenderParams render_params;render_params.mirrorType = liteav::TRTCVideoMirrorType_Enable;render_params.fillMode = TRTCVideoFillMode_Fill;trtc_cloud_->setLocalRenderParams(render_params);// 로컬 카메라 미리보기 활성화(view는 로컬 비디오 이미지를 렌더링하는 데 사용되는 제어 핸들입니다)liteav::TXView local_view = (liteav::TXView)(view);trtc_cloud_->startLocalPreview(local_view);
// 마이크 캡처를 활성화하고 quality를 SPEECH로 설정합니다(노이즈 억제가 높고 네트워크 상태가 좋지 않음)mCloud.startLocalAudio(TRTCCloudDef.TRTC_AUDIO_QUALITY_SPEECH );// 마이크 캡처를 활성화하고 quality를 MUSIC으로 설정합니다(최소 오디오 품질 손실로 Hi-Fi 오디오를 캡처하며 전문 사운드 카드와 함께 사용하는 것이 좋습니다)mCloud.startLocalAudio(TRTCCloudDef.TRTC_AUDIO_QUALITY_MUSIC);
self.trtcCloud = [TRTCCloud sharedInstance];// 마이크 캡처를 활성화하고 quality를 SPEECH로 설정합니다(노이즈 억제가 높고 네트워크 상태가 좋지 않음)[self.trtcCloud startLocalAudio:TRTCAudioQualitySpeech];// 마이크 캡처를 활성화하고 quality를 MUSIC으로 설정합니다(최소 오디오 품질 손실로 Hi-Fi 오디오를 캡처하며 전문 사운드 카드와 함께 사용하는 것이 좋습니다)[self.trtcCloud startLocalAudio:TRTCAudioQualityMusic];
// 마이크 캡처를 활성화하고 quality를 SPEECH로 설정합니다(노이즈 억제가 높고 네트워크 상태가 좋지 않음)trtc_cloud_->startLocalAudio(TRTCAudioQualitySpeech);// 마이크 캡처를 활성화하고 quality를 MUSIC으로 설정합니다(최소 오디오 품질 손실로 Hi-Fi 오디오를 캡처하며 전문 사운드 카드와 함께 사용하는 것이 좋습니다)trtc_cloud_->startLocalAudio(TRTCAudioQualityMusic);
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 방 입장 매개변수를 어셈블합니다. 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 = TRTCCloudDef.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);
// 현재 역할이 시청자(Audience)인 경우 앵커(Anchor)로 전환하려면 먼저 switchRole을 호출해야 합니다// If your current role is 'audience', you need to call switchRole to switch to 'anchor' firstmCloud.switchRole(TRTCCloudDef.TRTCRoleAnchor);mCloud.startLocalAudio(TRTCCloudDef.TRTC_AUDIO_QUALITY_DEFAULT);mCloud.startLocalPreview(true, cameraVide);// 역할 전환이 실패한 경우 onSwitchRole 콜백의 오류 코드는 0이 아닙니다// If switching operation failed, the error code of the 'onSwitchRole' is not zero@Overridepublic void onSwitchRole(final int errCode, final String errMsg) {if (errCode != 0) {Log.d(TAG, "Switching operation failed...");}}
self.trtcCloud = [TRTCCloud sharedInstance];// 현재 역할이 시청자(Audience)인 경우 앵커(Anchor)로 전환하려면 먼저 switchRole을 호출해야 합니다// If your current role is 'audience', you need to call switchRole to switch to 'anchor' first[self.trtcCloud switchRole:TRTCRoleAnchor];[self.trtcCloud startLocalAudio:TRTCAudioQualityDefault];[self.trtcCloud startLocalPreview:YES view:localCameraVideoView];// 역할 전환이 실패한 경우 onSwitchRole 콜백의 오류 코드는 0이 아닙니다// If switching operation failed, the error code of the 'onSwitchRole' is not zero- (void)onSwitchRole:(TXLiteAVError)errCode errMsg:(nullable NSString *)errMsg {if (errCode != 0) {NSLog(@"Switching operation failed... ");}}
self.trtcCloud = [TRTCCloud sharedInstance];// 현재 역할이 시청자(Audience)인 경우 앵커(Anchor)로 전환하려면 먼저 switchRole을 호출해야 합니다// If your current role is 'audience', you need to call switchRole to switch to 'anchor' first[self.trtcCloud switchRole:TRTCRoleAnchor];[self.trtcCloud startLocalAudio:TRTCAudioQualityDefault];[self.trtcCloud startLocalPreview:localCameraVideoView];// 역할 전환이 실패한 경우 onSwitchRole 콜백의 오류 코드는 0이 아닙니다// If switching operation failed, the error code of the 'onSwitchRole' is not zero- (void)onSwitchRole:(TXLiteAVError)errCode errMsg:(nullable NSString *)errMsg {if (errCode != 0) {NSLog(@"Switching operation failed... ");}}
// 현재 역할이 시청자(Audience)인 경우 앵커(Anchor)로 전환하려면 먼저 switchRole을 호출해야 합니다// If your current role is 'audience', you need to call switchRole to switch to 'anchor' firsttrtc_cloud_->switchRole(liteav::TRTCRoleAnchor);trtc_cloud_->startLocalAudio(TRTCAudioQualityDefault);trtc_cloud_->startLocalPreview(hWnd);// 역할 전환이 실패한 경우 onSwitchRole 콜백의 오류 코드는 ERR_NULL이 아닙니다(즉, 0)// If switching operation failed, the error code of the 'onSwitchRole' is not zerovoid onSwitchRole(TXLiteAVError errCode, const char* errMsg) {if (errCode != ERR_NULL) {printf("Switching operation failed...");}}
피드백