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

// Mute user with id dennymCloud.muteRemoteAudio("denny", true);// Unmute user with id dennymCloud.muteRemoteAudio("denny", false);
self.trtcCloud = [TRTCCloud sharedInstance];// Mute user with id denny[self.trtcCloud muteRemoteAudio:@"denny" mute:YES];// Unmute user with id denny[self.trtcCloud muteRemoteAudio:@"denny" mute:YES];
// Mute user with id dennytrtc_cloud_->muteRemoteAudio("denny", true);// Unmute user with id dennytrtc_cloud_->muteRemoteAudio("denny", false);
// denny의 카메라(‘기본 스트림’) 이미지 재생mCloud.startRemoteView("denny", TRTCCloudDef.TRTC_VIDEO_STREAM_TYPE_BIG,cameraView);// denny의 화면 공유(‘서브 스트림’) 이미지 재생mCloud.startRemoteView("denny", TRTCCloudDef.TRTC_VIDEO_STREAM_TYPE_SUB,screenView);// denny의 저화질 영상 재생 (원본 화질의 기본 스트림과 저화질의 작은 스트림은 동시에 재생할 수 없음)mCloud.startRemoteView("denny", TRTCCloudDef.TRTC_VIDEO_STREAM_TYPE_SMALL,cameraView);// denny의 카메라 이미지 재생 중지mCloud.stopRemoteView("denny", TRTCCloudDef.TRTC_VIDEO_STREAM_TYPE_BIG,cameraView);// 모든 원격 사용자의 비디오 이미지 재생 중지mCloud.stopAllRemoteView();
self.trtcCloud = [TRTCCloud sharedInstance];// denny의 카메라(‘기본 스트림’) 이미지 재생[self.trtcCloud startRemoteView:@"denny" streamType:TRTCVideoStreamTypeBig view:cameraView];// denny의 화면 공유(‘서브 스트림’) 이미지 재생[self.trtcCloud startRemoteView:@"denny" streamType:TRTCVideoStreamTypeSub view:screenView];// denny의 저화질 영상 재생 (원본 화질의 기본 스트림과 저화질의 작은 스트림은 동시에 재생할 수 없음)[self.trtcCloud startRemoteView:@"denny" streamType:TRTCVideoStreamTypeSmall view:cameraView];// denny의 카메라 이미지 재생 중지[self.trtcCloud stopRemoteView:@"denny" streamType:TRTCVideoStreamTypeBig view:cameraView];// 모든 원격 사용자의 비디오 이미지 재생 중지[self.trtcCloud stopAllRemoteView];
// denny의 카메라(‘기본 스트림’) 이미지 재생trtc_cloud_->startRemoteView("denny", liteav::TRTCVideoStreamTypeBig, (liteav::TXView)(hWnd));// denny의 화면 공유(‘서브 스트림’) 이미지 재생trtc_cloud_->startRemoteView("denny", liteav::TRTCVideoStreamTypeSub, (liteav::TXView)(hScreenWnd));// denny의 저화질 영상 재생 (원본 화질의 기본 스트림과 저화질의 작은 스트림은 동시에 재생할 수 없음)trtc_cloud_->startRemoteView("denny", liteav::TRTCVideoStreamTypeSmall, (liteav::TXView)(hWnd));// denny의 카메라 이미지 재생 중지trtc_cloud_->stopRemoteView("denny", liteav::TRTCVideoStreamTypeBig);// 모든 원격 사용자의 비디오 이미지 재생 중지trtc_cloud_->stopAllRemoteView();
// denny의 기본 스트림 이미지를 miniFloatingView와 같은 작은 플로팅 창으로 전환mCloud.updateRemoteView("denny", TRTCCloudDef.TRTC_VIDEO_STREAM_TYPE_BIG,miniFloatingView);// 원격 사용자 denny의 기본 스트림 이미지의 채우기 모드를 채우기로 설정하고 미러 모드 비활성화TRTCCloudDef.TRTCRenderParams param = new TRTCCloudDef.TRTCRenderParams();param.fillMode = TRTCCloudDef.TRTC_VIDEO_RENDER_MODE_FILL;param.mirrorType = TRTCCloudDef.TRTC_VIDEO_MIRROR_TYPE_DISABLE;mCloud.setRemoteRenderParams("denny", TRTCCloudDef.TRTC_VIDEO_STREAM_TYPE_BIG,param);
self.trtcCloud = [TRTCCloud sharedInstance];// denny의 기본 스트림 이미지를 miniFloatingView와 같은 작은 플로팅 창으로 전환[self.trtcCloud updateRemoteView:miniFloatingView streamType:TRTCVideoStreamTypeBig forUser:@"denny"];// 원격 사용자 denny의 기본 스트림 이미지의 채우기 모드를 채우기로 설정하고 미러 모드 비활성화TRTCRenderParams *param = [[TRTCRenderParams alloc] init];param.fillMode = TRTCVideoFillMode_Fill;param.mirrorType = TRTCVideoMirrorTypeDisable;[self.trtcCloud setRemoteRenderParams:@"denny" streamType:TRTCVideoStreamTypeBig params:param];
// denny의 기본 스트림 이미지를 다른 창으로 전환(새 창의 핸들이 newView라고 가정)trtc_cloud_->updateRemoteView("denny", liteav::TRTCVideoStreamTypeBig, (liteav::TXView)(newView));// 원격 사용자 denny의 기본 스트림 이미지의 채우기 모드를 채우기로 설정하고 미러 모드 비활성화liteav::TRTCRenderParams param;param.fillMode = TRTCVideoFillMode_Fill;param.mirrorType = TRTCVideoMirrorType_Enable;trtc_cloud_->setRemoteRenderParams("denny", TRTCVideoStreamTypeBig, param);
// 원격 사용자의 비디오 상태 변경 사항을 가져오고 카메라를 켠 사용자 목록 업데이트(mCameraUserList)@Overridepublic void onUserVideoAvailable(String userId, boolean available) {available?mCameraUserList.add(userId) : mCameraUserList.remove(userId);}// 원격 사용자의 오디오 상태 변경 사항을 가져오고 마이크를 켠 사용자 목록 업데이트(mMicrophoneUserList)@Overridepublic void onUserAudioAvailable(String userId, boolean available) {available?mMicrophoneUserList.add(userId) : mMicrophoneUserList.remove(userId);}// 원격 사용자의 방 입장 알림을 받고 원격 사용자 목록(mUserList) 업데이트@Overridepublic void onRemoteUserEnterRoom(String userId) {mUserList.add(userId);}// 원격 사용자의 퇴장 알림을 받고 원격 사용자 목록(mUserList) 업데이트@Overridepublic void onRemoteUserLeaveRoom(String userId,int reason) {mUserList.remove(userId);}
// 원격 사용자의 비디오 상태 변경 사항을 가져오고 카메라를 켠 사용자 목록 업데이트(mCameraUserList)- (void)onUserVideoAvailable:(NSString *)userId available:(BOOL)available{if (available) {[mCameraUserList addObject:userId];} else {[mCameraUserList removeObject:userId];}}// 원격 사용자의 오디오 상태 변경 사항을 가져오고 마이크를 켠 사용자 목록 업데이트(mMicrophoneUserList)- (void)onUserAudioAvailable:(NSString *)userId available:(BOOL)available{if (available) {[mMicrophoneUserList addObject:userId];} else {[mMicrophoneUserList removeObject:userId];}}// 원격 사용자의 방 입장 알림을 받고 원격 사용자 목록(mUserList) 업데이트- (void)onRemoteUserEnterRoom:(NSString *)userId{[mUserList addObject:userId];}// 원격 사용자의 퇴장 알림을 받고 원격 사용자 목록(mUserList) 업데이트- (void)onRemoteUserLeaveRoom:(NSString *)userId reason:(NSInteger)reason{[mUserList removeObject:userId];}
// 원격 사용자의 비디오 상태 변경 사항을 가져오고 카메라를 켠 사용자 목록 업데이트(mCameraUserList)void onUserVideoAvailable(const char* user_id, bool available) {available ? mCameraUserList.push_back(user_id) : mCameraUserList.remove(user_id);}// 원격 사용자의 오디오 상태 변경 사항을 가져오고 마이크를 켠 사용자 목록 업데이트(mMicrophoneUserList)void onUserAudioAvailable(const char* user_id, bool available) {available ? mMicrophoneUserList.push_back(user_id) : mMicrophoneUserList.remove(user_id);}// 원격 사용자의 방 입장 알림을 받고 원격 사용자 목록(mUserList) 업데이트void onRemoteUserEnterRoom(const char* user_id) {mUserList.push_back(user_id);}// 원격 사용자의 퇴장 알림을 받고 원격 사용자 목록(mUserList) 업데이트void onRemoteUserLeaveRoom(const char* user_id, int reason) {mUserList.remove(user_id);}
피드백