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 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 OnJoinRoomBtnClick(object sender, EventArgs e) { SetTestEnv(); string userId = this.userTextBox.Text; string roomId = this.roomTextBox.Text; if (string.IsNullOrEmpty(userId) || string.IsNullOrEmpty(roomId)) { ShowMessage("房间号或用户号不能为空!"); return; } int room = int.Parse(roomId); // 从本地计算获取 userId 对应的 userSig string userSig = GenerateTestUserSig.GetInstance().GenTestUserSig(userId); if (string.IsNullOrEmpty(userSig)) { ShowMessage("userSig 获取失败,请检查是否填写账号信息!"); return; } TRTCParams trtcParams = new TRTCParams(); trtcParams.sdkAppId = GenerateTestUserSig.SDKAPPID; trtcParams.roomId = (uint)room; trtcParams.userId = userId; trtcParams.userSig = userSig; trtcParams.privateMapKey = ""; trtcParams.businessInfo = ""; trtcParams.role = TRTCRoleType.TRTCRoleAnchor; this.Hide(); TRTCMainForm mainForm = new TRTCMainForm(this); mainForm.Show(); SaveUserInfo(); mainForm.SetTestEnv(mTestEnv); mainForm.EnterRoom(trtcParams); }
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(); }