
// 设置本地画面的预览模式:开启左右镜像,设置画面为填充模式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 参数确定采集模式。虽然这个参数的名字叫做 quality,但并不是说质量越高越好,不同的业务场景有最适合的参数选择(这个参数更准确的含义是 scene)。// 开启麦克风采集,并设置当前场景为:语音模式(高噪声抑制能力、强弱网络抗性)mCloud.startLocalAudio(TRTCCloudDef.TRTC_AUDIO_QUALITY_SPEECH );// 开启麦克风采集,并设置当前场景为:音乐模式(高保真采集、低音质损失,推荐配合专业声卡使用)mCloud.startLocalAudio(TRTCCloudDef.TRTC_AUDIO_QUALITY_MUSIC);
self.trtcCloud = [TRTCCloud sharedInstance];// 开启麦克风采集,并设置当前场景为:语音模式(高噪声抑制能力、强弱网络抗性)[self.trtcCloud startLocalAudio:TRTCAudioQualitySpeech];// 开启麦克风采集,并设置当前场景为:音乐模式(高保真采集、低音质损失,推荐配合专业声卡使用)[self.trtcCloud startLocalAudio:TRTCAudioQualityMusic];
// 开启麦克风采集,并设置当前场景为:语音模式(高噪声抑制能力、强弱网络抗性)trtc_cloud_->startLocalAudio(TRTCAudioQualitySpeech);// 开启麦克风采集,并设置当前场景为:音乐模式(高保真采集、低音质损失,推荐配合专业声卡使用)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),需要先调用 switchRole 切换到主播(Anchor)// 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),需要先调用 switchRole 切换到主播(Anchor)// 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),需要先调用 switchRole 切换到主播(Anchor)// 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),需要先调用 switchRole 切换到主播(Anchor)// 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...");}}
文档反馈