private void EnterSelfRoom() { if (trtcCloud == null) { trtcCloud = ITRTCCloud.getTRTCShareInstance(); Log.I(String.Format(" SDKVersion : {0}", trtcCloud.getSDKVersion())); trtcCloud.addCallback(this); TRTCParams trtcParams = new TRTCParams(); trtcParams.sdkAppId = GenerateTestUserSig.SDKAPPID; trtcParams.roomId = (uint)m_nMachineGUID; trtcParams.userId = "source"; trtcParams.userSig = GenerateTestUserSig.GetInstance().GenTestUserSig(trtcParams.userId); trtcParams.privateMapKey = ""; trtcParams.businessInfo = ""; trtcParams.role = TRTCRoleType.TRTCRoleAnchor; //trtcCloud.setVideoEncoderParam(); // 用户进房 TRTCVideoEncParam encParams = DataManager.GetInstance().videoEncParams; // 视频编码参数设置 TRTCNetworkQosParam qosParams = DataManager.GetInstance().qosParams; // 网络流控相关参数设置 trtcCloud.setVideoEncoderParam(ref encParams); trtcCloud.setSubStreamEncoderParam(ref encParams); trtcCloud.setNetworkQosParam(ref qosParams); trtcCloud.enterRoom(ref trtcParams, TRTCAppScene.TRTCAppSceneVideoCall); } }
private void Screen_Loaded(object sender, RoutedEventArgs e) { trtcCloud = ITRTCCloud.getTRTCShareInstance(); Log.I(String.Format(" SDKVersion : {0}", trtcCloud.getSDKVersion())); trtcCloud.addCallback(this); TRTCParams trtcParams = new TRTCParams(); trtcParams.sdkAppId = GenerateTestUserSig.SDKAPPID; trtcParams.roomId = (uint)m_nPeerMachineGUID; trtcParams.userId = $"ctrl_{m_nMachineGUID}"; trtcParams.userSig = GenerateTestUserSig.GetInstance().GenTestUserSig(trtcParams.userId); trtcParams.privateMapKey = ""; trtcParams.businessInfo = ""; trtcParams.role = TRTCRoleType.TRTCRoleAnchor; TRTCVideoEncParam encParams = DataManager.GetInstance().videoEncParams; // 视频编码参数设置 TRTCNetworkQosParam qosParams = DataManager.GetInstance().qosParams; // 网络流控相关参数设置 trtcCloud.setVideoEncoderParam(ref encParams); trtcCloud.setNetworkQosParam(ref qosParams); // 用户进房 trtcCloud.enterRoom(ref trtcParams, TRTCAppScene.TRTCAppSceneVideoCall); }
private DataManager() { trtcCloud = ITRTCCloud.getTRTCShareInstance(); storage = new IniStorage(".\\TRTCDemo.ini"); videoEncParams = new TRTCVideoEncParam(); qosParams = new TRTCNetworkQosParam(); }
private void OnSaveBtnClick(object sender, EventArgs e) { PropertySaver saver = PropertySaver.GetInstance(); TRTCVideoEncParam encParams = saver.encParams; TRTCNetworkQosParam qosParams = saver.qosParams; TRTCAppScene appScene = saver.appScene; if (encParams.videoResolution != mEncParam.videoResolution || encParams.videoFps != mEncParam.videoFps || encParams.videoBitrate != mEncParam.videoBitrate) { mTRTCCloud.setVideoEncoderParam(ref mEncParam); } if (qosParams.controlMode != mQosParams.controlMode || qosParams.preference != mQosParams.preference) { mTRTCCloud.setNetworkQosParam(ref mQosParams); } bool pushSmallVideo = saver.pushSmallVideo; if (pushSmallVideo != mPushSmallVideo) { TRTCVideoEncParam param = new TRTCVideoEncParam() { videoFps = 15, videoBitrate = 100, videoResolution = TRTCVideoResolution.TRTCVideoResolution_320_240 }; bool enable = true; if (mPushSmallVideo == false) { enable = false; } mTRTCCloud.enableSmallVideoStream(enable, ref param); } bool playSmallVideo = saver.playSmallVideo; if (playSmallVideo != mPlaySmallVideo) { if (mPlaySmallVideo) { mTRTCCloud.setPriorRemoteVideoStreamType(TRTCVideoStreamType.TRTCVideoStreamTypeSmall); } else { mTRTCCloud.setPriorRemoteVideoStreamType(TRTCVideoStreamType.TRTCVideoStreamTypeBig); } } saver.encParams = mEncParam; saver.qosParams = mQosParams; saver.appScene = mAppScene; saver.playSmallVideo = mPlaySmallVideo; saver.pushSmallVideo = mPushSmallVideo; PropertySaver.GetInstance().SaveProperty(); this.Hide(); }
private void InitData() { mEncParam = new TRTCVideoEncParam() { videoBitrate = DataManager.GetInstance().videoEncParams.videoBitrate, videoFps = DataManager.GetInstance().videoEncParams.videoFps, videoResolution = DataManager.GetInstance().videoEncParams.videoResolution, resMode = DataManager.GetInstance().videoEncParams.resMode }; }
private void OnSaveBtnClick(object sender, EventArgs e) { TRTCNetworkQosParam qosParams = DataManager.GetInstance().qosParams; TRTCAppScene appScene = DataManager.GetInstance().appScene; if (qosParams.controlMode != mQosParams.controlMode || qosParams.preference != mQosParams.preference) { mTRTCCloud.setNetworkQosParam(ref mQosParams); } bool pushSmallVideo = DataManager.GetInstance().pushSmallVideo; if (pushSmallVideo != mPushSmallVideo) { TRTCVideoEncParam param = new TRTCVideoEncParam() { videoFps = 15, videoBitrate = 100, videoResolution = TRTCVideoResolution.TRTCVideoResolution_320_240, resMode = TRTCVideoResolutionMode.TRTCVideoResolutionModeLandscape }; bool enable = true; if (mPushSmallVideo == false) { enable = false; } mTRTCCloud.enableSmallVideoStream(enable, ref param); } bool playSmallVideo = DataManager.GetInstance().playSmallVideo; if (playSmallVideo != mPlaySmallVideo) { if (mPlaySmallVideo) { mTRTCCloud.setPriorRemoteVideoStreamType(TRTCVideoStreamType.TRTCVideoStreamTypeSmall); } else { mTRTCCloud.setPriorRemoteVideoStreamType(TRTCVideoStreamType.TRTCVideoStreamTypeBig); } } DataManager.GetInstance().qosParams = mQosParams; DataManager.GetInstance().appScene = mAppScene; DataManager.GetInstance().playSmallVideo = mPlaySmallVideo; DataManager.GetInstance().pushSmallVideo = mPushSmallVideo; this.Close(); }
private void confirmBtn_Click(object sender, EventArgs e) { TRTCVideoEncParam encParams = DataManager.GetInstance().videoEncParams; TRTCNetworkQosParam qosParams = DataManager.GetInstance().qosParams; TRTCAppScene appScene = DataManager.GetInstance().appScene; if (encParams.videoResolution != mEncParam.videoResolution || encParams.videoFps != mEncParam.videoFps || encParams.videoBitrate != mEncParam.videoBitrate || encParams.resMode != mEncParam.resMode) { mTRTCCloud.setVideoEncoderParam(ref mEncParam); } DataManager.GetInstance().videoEncParams = mEncParam; this.Close(); }
// 初始化SDK的local配置信息 private void InitSDKProperty() { encParams = new TRTCVideoEncParam { videoResolution = TRTCVideoResolution.TRTCVideoResolution_640_360, videoFps = 15, videoBitrate = 500 }; qosParams = new TRTCNetworkQosParam { preference = TRTCVideoQosPreference.TRTCVideoQosPreferenceClear, controlMode = TRTCQosControlMode.TRTCQosControlModeServer }; appScene = TRTCAppScene.TRTCAppSceneVideoCall; pushSmallVideo = false; playSmallVideo = false; }
private void InitData() { mEncParam = new TRTCVideoEncParam() { videoBitrate = DataManager.GetInstance().videoEncParams.videoBitrate, videoFps = DataManager.GetInstance().videoEncParams.videoFps, videoResolution = DataManager.GetInstance().videoEncParams.videoResolution, resMode = DataManager.GetInstance().videoEncParams.resMode }; mQosParams = new TRTCNetworkQosParam() { preference = DataManager.GetInstance().qosParams.preference, controlMode = DataManager.GetInstance().qosParams.controlMode }; mAppScene = DataManager.GetInstance().appScene; mPlaySmallVideo = DataManager.GetInstance().playSmallVideo; mPushSmallVideo = DataManager.GetInstance().pushSmallVideo; }
public void EnterRoom() { // 设置进房所需的相关参数 TRTCParams trtcParams = new TRTCParams(); trtcParams.sdkAppId = GenerateTestUserSig.SDKAPPID; trtcParams.roomId = DataManager.GetInstance().roomId; trtcParams.userId = DataManager.GetInstance().userId; trtcParams.userSig = GenerateTestUserSig.GetInstance().GenTestUserSig(DataManager.GetInstance().userId); // 如果您有进房权限保护的需求,则参考文档{https://cloud.tencent.com/document/product/647/32240}完成该功能。 // 在有权限进房的用户中的下面字段中添加在服务器获取到的privateMapKey。 trtcParams.privateMapKey = ""; trtcParams.businessInfo = ""; trtcParams.role = DataManager.GetInstance().roleType; // 若您的项目有纯音频的旁路直播需求,请配置参数。 // 配置该参数后,音频达到服务器,即开始自动旁路; // 否则无此参数,旁路在收到第一个视频帧之前,会将收到的音频包丢弃。 if (DataManager.GetInstance().pureAudioStyle) { trtcParams.businessInfo = "{\"Str_uc_params\":{\"pure_audio_push_mod\": 1}}"; } else { trtcParams.businessInfo = ""; } // 用户进房 mTRTCCloud.enterRoom(ref trtcParams, DataManager.GetInstance().appScene); // 设置默认参数配置 TRTCVideoEncParam encParams = DataManager.GetInstance().videoEncParams; // 视频编码参数设置 TRTCNetworkQosParam qosParams = DataManager.GetInstance().qosParams; // 网络流控相关参数设置 mTRTCCloud.setVideoEncoderParam(ref encParams); mTRTCCloud.setNetworkQosParam(ref qosParams); mTRTCCloud.setLocalViewFillMode(DataManager.GetInstance().videoFillMode); mTRTCCloud.setLocalViewMirror(DataManager.GetInstance().isLocalVideoMirror); mTRTCCloud.setLocalViewRotation(DataManager.GetInstance().videoRotation); mTRTCCloud.setVideoEncoderMirror(DataManager.GetInstance().isRemoteVideoMirror); // 设置美颜 if (DataManager.GetInstance().isOpenBeauty) { mTRTCCloud.setBeautyStyle(DataManager.GetInstance().beautyStyle, DataManager.GetInstance().beauty, DataManager.GetInstance().white, DataManager.GetInstance().ruddiness); } // 设置大小流 if (DataManager.GetInstance().pushSmallVideo) { TRTCVideoEncParam param = new TRTCVideoEncParam { videoFps = 15, videoBitrate = 100, videoResolution = TRTCVideoResolution.TRTCVideoResolution_320_240 }; mTRTCCloud.enableSmallVideoStream(true, ref param); } if (DataManager.GetInstance().playSmallVideo) { mTRTCCloud.setPriorRemoteVideoStreamType(TRTCVideoStreamType.TRTCVideoStreamTypeSmall); } // 房间信息 mUserId = trtcParams.userId; mRoomId = trtcParams.roomId; this.infoLabel.Content = "房间号:" + mRoomId; // 本地主流自定义渲染 View 动态绑定和监听 SDK 渲染回调 mTRTCCloud.startLocalPreview(IntPtr.Zero); AddCustomVideoView(this.videoContainer, mUserId, TRTCVideoStreamType.TRTCVideoStreamTypeBig, true); mTRTCCloud.startLocalAudio(); }