static void Main() { try { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); LoginForm loginForm = new LoginForm(); if (loginForm.ShowDialog() != DialogResult.OK) { return; } IMultimediaManager multimediaManager = MultimediaManagerFactory.GetSingleton(); multimediaManager.Advanced.AllowDiscardFrameWhenBroadcast = true; //正式部署使用时,建议设置为true。 multimediaManager.Advanced.MaxInterval4CameraKeyFrame = 30; //本句自己添加 multimediaManager.CameraVideoSize = new System.Drawing.Size(320, 240); multimediaManager.AutoAdjustCameraEncodeQuality = true; multimediaManager.ChannelMode = ChannelMode.P2PDisabled; multimediaManager.SecurityLogEnabled = false; multimediaManager.CameraDeviceIndex = 0; multimediaManager.MicrophoneDeviceIndex = int.Parse(ConfigurationManager.AppSettings["MicrophoneIndex"]); multimediaManager.SpeakerIndex = int.Parse(ConfigurationManager.AppSettings["SpeakerIndex"]); multimediaManager.DesktopEncodeQuality = 3; multimediaManager.Initialize(loginForm.CurrentUserID, "", ConfigurationManager.AppSettings["ServerIP"], int.Parse(ConfigurationManager.AppSettings["ServerPort"])); MainForm mainForm = new MainForm(multimediaManager, loginForm.RoomID); Application.Run(mainForm); } catch (Exception ee) { MessageBox.Show(ee.Message); } }
public CallOMCS() { multimediaManager = MultimediaManagerFactory.GetSingleton(); multimediaManager.ChannelMode = ChannelMode.P2PDisabled; multimediaManager.SecurityLogEnabled = false; multimediaManager.SpeakerIndex = 0; }
public void Initialize(IMultimediaManager mgr, string chatGroupID) { this.multimediaManager = mgr; this.chatGroup = this.multimediaManager.ChatGroupEntrance.Join(ChatType.Video, chatGroupID); this.decibelDisplayer_mic.Working = true; this.decibelDisplayer_speaker.Working = true; this.multimediaManager.AudioCaptured += new ESBasic.CbGeneric<byte[]>(multimediaManager_AudioCaptured); this.multimediaManager.AudioPlayed += new ESBasic.CbGeneric<byte[]>(multimediaManager_AudioPlayed); this.chatGroup.SomeoneJoin += new ESBasic.CbGeneric<IChatUnit>(chatGroup_SomeoneJoin); this.chatGroup.SomeoneExit += new CbGeneric<string>(chatGroup_SomeoneExit); SpeakerVideoPanel myselfPanel = new SpeakerVideoPanel(); this.flowLayoutPanel1.Controls.Add(myselfPanel); myselfPanel.Initialize(this.chatGroup.MyChatUnit, true); foreach (IChatUnit unit in this.chatGroup.GetOtherMembers()) { SpeakerVideoPanel panel = new SpeakerVideoPanel(); this.flowLayoutPanel1.Controls.Add(panel); panel.Initialize(unit, false); } this.groupBox_members.Text = string.Format("成员列表({0}人)" ,this.flowLayoutPanel1.Controls.Count); this.flowLayoutPanel1_SizeChanged(this.flowLayoutPanel1, new EventArgs()); }
public SoundRequest(string userName, string friendName, IMultimediaManager _multimediaManager) { InitializeComponent(); this.userName = userName; this.friendName = friendName; this.multimediaManager = _multimediaManager; }
public void StartOMCSClient(UserDto CurrentUser, string roomId) { try { multimediaManager = MultimediaManagerFactory.GetSingleton(); multimediaManager.CameraVideoSize = new Size(320, 240); multimediaManager.AutoAdjustCameraEncodeQuality = false; multimediaManager.ChannelMode = ChannelMode.P2PDisabled; multimediaManager.SecurityLogEnabled = false; multimediaManager.CameraDeviceIndex = 0; multimediaManager.MicrophoneDeviceIndex = ConfigEntity.MicrophoneIndex; multimediaManager.SpeakerIndex = ConfigEntity.SpeakerIndex; multimediaManager.DesktopEncodeQuality = 3; multimediaManager.AutoReconnect = true; multimediaManager.Initialize(CurrentUser.UserName, "", ConfigEntity.SocketServerIp, ConfigEntity.AudioPort); this.chatGroup = this.multimediaManager.ChatGroupEntrance.Join(ChatType.Audio, roomId); this.chatGroup.SomeoneJoin += chatGroup_SomeoneJoin; this.chatGroup.SomeoneExit += chatGroup_SomeoneExit; foreach (IChatUnit unit in this.chatGroup.GetOtherMembers()) { unit.MicrophoneConnector.BeginConnect(unit.MemberID); } if (multimediaManager.Available) { DisplayMsg("语音服务已经连接成功."); } } catch (Exception ex) { DisplayMessage(ex.Message); } }
public void Initialize(IMultimediaManager mgr, string chatGroupID) { this.multimediaManager = mgr; this.chatGroup = this.multimediaManager.ChatGroupEntrance.Join(ChatType.Video, chatGroupID); this.decibelDisplayer_mic.Working = true; this.decibelDisplayer_speaker.Working = true; this.multimediaManager.AudioCaptured += new ESBasic.CbGeneric <byte[]>(multimediaManager_AudioCaptured); this.multimediaManager.AudioPlayed += new ESBasic.CbGeneric <byte[]>(multimediaManager_AudioPlayed); this.chatGroup.SomeoneJoin += new ESBasic.CbGeneric <IChatUnit>(chatGroup_SomeoneJoin); this.chatGroup.SomeoneExit += new CbGeneric <string>(chatGroup_SomeoneExit); VideoPanel myselfPanel = new VideoPanel(); this.flowLayoutPanel1.Controls.Add(myselfPanel); myselfPanel.Initialize(this.chatGroup.MyChatUnit, true); foreach (IChatUnit unit in this.chatGroup.GetOtherMembers()) { VideoPanel panel = new VideoPanel(); this.flowLayoutPanel1.Controls.Add(panel); panel.Initialize(unit, false); } this.groupBox_members.Text = string.Format("成员列表({0}人)", this.flowLayoutPanel1.Controls.Count); this.flowLayoutPanel1_SizeChanged(this.flowLayoutPanel1, new EventArgs()); }
static void Main() { try { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); LoginForm loginForm = new LoginForm(); if (loginForm.ShowDialog() != DialogResult.OK) { return; } IMultimediaManager multimediaManager = MultimediaManagerFactory.GetSingleton(); multimediaManager.ImageConverterFactory = new ImageConverterFactory();// 图片转换器工厂,供OMCS内部将课件转换成图片的过程中使用。 multimediaManager.CameraDeviceIndex = 0; multimediaManager.MicrophoneDeviceIndex = 0; multimediaManager.CameraEncodeQuality = 3; multimediaManager.ChannelMode = ChannelMode.P2PChannelFirst; multimediaManager.Initialize(loginForm.CurrentUserID, "", ConfigurationManager.AppSettings["ServerIP"], int.Parse(ConfigurationManager.AppSettings["ServerPort"])); WhiteBoardForm mainForm = new WhiteBoardForm(loginForm.ClassRoomID, loginForm.IsTeacher); Application.Run(mainForm); } catch (Exception ee) { MessageBox.Show(ee.Message + "," + ee.StackTrace); } }
public VideoConnection(string userName, string friendName, IMultimediaManager _multimediaManager) { InitializeComponent(); this.userName = userName; this.friendName = friendName; this.multimediaManager = _multimediaManager; }
public void Initialize(IMultimediaManager mgr, string chatGroupID) { this.multimediaManager = mgr; this.chatGroup = this.multimediaManager.ChatGroupEntrance.Join(ChatType.Video, chatGroupID); this.decibelDisplayer_mic.Working = true; this.decibelDisplayer_speaker.Working = true; this.multimediaManager.AudioCaptured += new ESBasic.CbGeneric <byte[]>(multimediaManager_AudioCaptured); this.multimediaManager.AudioPlayed += new ESBasic.CbGeneric <byte[]>(multimediaManager_AudioPlayed); this.chatGroup.SomeoneJoin += new ESBasic.CbGeneric <IChatUnit>(chatGroup_SomeoneJoin); this.chatGroup.SomeoneExit += new CbGeneric <string>(chatGroup_SomeoneExit); VideoPanel myselfPanel = new VideoPanel(); this.flowLayoutPanel1.Controls.Add(myselfPanel); myselfPanel.Initialize(this.chatGroup.MyChatUnit, true); //myselfPanel.Visible = false; myselfPanel.InitializeVideo(this.chatGroup.MyChatUnit, true); //版本0328 string user_id = this.chatGroup.MyChatUnit.MemberID; if (user_id.Equals("会议室2")) //如果myself是网格中心的话,聊天组里面的全部显示 { foreach (IChatUnit unit in this.chatGroup.GetOtherMembers()) { VideoPanel panel0 = new VideoPanel(); this.flowLayoutPanel1.Controls.Add(panel0); //panel.Visible = false; panel0.Initialize(unit, false); panel0.InitializeVideo(unit, false); } } else //如果myself不是的话,判断聊天组里有没有网格zx,如果有仅显示网格zx { foreach (IChatUnit unit in this.chatGroup.GetOtherMembers()) { if (unit.MemberID.Equals("会议室2")) { VideoPanel panel1 = new VideoPanel(); this.flowLayoutPanel1.Controls.Add(panel1); //panel.Visible = false; panel1.Initialize(unit, false); panel1.InitializeVideo(unit, false); } else { VideoPanel panel2 = new VideoPanel(); this.flowLayoutPanel1.Controls.Add(panel2); panel2.Visible = false; panel2.Initialize(unit, false); } } } this.groupBox_members.Text = string.Format("成员列表({0}人)", this.flowLayoutPanel1.Controls.Count); this.flowLayoutPanel1_SizeChanged(this.flowLayoutPanel1, new EventArgs()); }
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); IMultimediaManager multimediaManager = MultimediaManagerFactory.GetSingleton(); multimediaManager.ChannelMode = OMCS.Passive.ChannelMode.P2PDisabled; Application.Run(new login(multimediaManager)); }
private IMultimediaManager multimediaManager;//初始化多媒体管理器(接口声明) public MainForm(IMultimediaManager mgr, string chatRoomID) { InitializeComponent(); this.multimediaManager = mgr; this.Text = this.Text + " - " + chatRoomID; // this.skinLabel_userID.Text = this.multimediaManager.CurrentUserID; this.multiVideoChatContainer1.Initialize(this.multimediaManager, chatRoomID); }
private IMultimediaManager multimediaManager; //多媒体接口 public login(IMultimediaManager mgr) { InitializeComponent(); dataProcessing.setlogin(this);//提供后续数据接收与发送操作反馈结果的操作 this.multimediaManager = mgr; La_close.Parent = Pb_loginBG; La_minimize.Parent = Pb_loginBG; La_setting.Parent = Pb_loginBG; }
public void Initialize(IMultimediaManager mgr) { this.multimediaManager = mgr; this.multimediaManager.CameraDeviceIndex = 0; this.multimediaManager.MicrophoneDeviceIndex = 0; this.multimediaManager.SpeakerIndex = 0; this.multimediaManager.ChannelMode = ChannelMode.P2PDisabled; this.multimediaManager.CameraEncodeQuality = 3; }
public VideoChatRecorder(IMultimediaManager mgr, DynamicCameraConnector friend, CameraConnector myself) { this.multimediaManager = mgr; this.dynamicCameraConnector2Friend = friend; this.cameraConnector2Myself = myself; //混音器。将自己和对方的声音混成一路。 this.audioInOutMixer = new AudioInOutMixer(); this.audioInOutMixer.AudioMixed += new CbGeneric <byte[]>(audioInOutMixer_AudioMixed); }
public SoundConnection(string userName, string friendName, IMultimediaManager _multimediaManager, bool showWaitingInfo) { InitializeComponent(); this.label1.Visible = showWaitingInfo; this.userName = userName; this.friendName = friendName; this.multimediaManager = _multimediaManager; this.microphoneConnector1.ConnectEnded += new ESBasic.CbGeneric <ConnectResult>(microphoneConnector1_ConnectEnded); this.microphoneConnector1.Disconnected += new ESBasic.CbGeneric <ConnectorDisconnectedType>(microphoneConnector1_Disconnected); this.microphoneConnector1.WaitOwnerOnlineSpanInSecs = 20; }
public void OnAgree(IMultimediaManager mgr) { this.panel_decibel.Visible = false; this.multimediaManager = mgr; this.microphoneConnector1.BeginConnect(this.friendID); this.multimediaManager.AudioCaptured += new CbGeneric <byte[]>(mgr_AudioCaptured); this.timerLabel1.Visible = true; this.skinLabel_msg.Visible = false; this.skinButton_HungUp.Visible = true; this.btnAccept.Visible = false; this.skinButtomReject.Visible = false; }
public ChatContainer(IMultimediaManager multimediaManager, CameraConnector CameraConnector = null, WhiteBoardConnector WhiteBoardControl = null) { this.multimediaManager = multimediaManager; this.CameraControl = CameraConnector; this.WhiteBoardControl = WhiteBoardControl; if (CameraControl != null) { CameraControl.ConnectEnded += OnConnectEnded; } if (WhiteBoardControl != null) { WhiteBoardControl.ConnectEnded += OnConnectEnded; } }
/// <summary> /// 初始化"rude"多媒体管理器。 /// </summary> /// <param name="rudeManager">未调用Initialize方法的多媒体管理器。</param> /// <param name="agileLogger">日志记录器</param> public void Initialize(IMultimediaManager rudeManager, OmcsLoginParas paras, IAgileLogger agileLogger, MultimediaManagerMode mode) { this.omcsLoginParas = paras; this.multimediaManager = rudeManager; this.multimediaManagerMode = mode; this.logger = agileLogger; this.multimediaManager.DeviceDisconnected += new CbGeneric <string, OMCS.MultimediaDeviceType>(multimediaManager_DeviceDisconnected); this.multimediaManager.ConnectorDisconnected += new CbGeneric <IMultimediaConnector, ConnectorDisconnectedType>(multimediaManager_ConnectorDisconnected); if (this.multimediaManagerMode == MultimediaManagerMode.Common) { string msg = null; this.Prepare(true, out msg); } }
/// <summary> /// 方法一直阻塞到多媒体管理器变成可用。 /// </summary> /// <param name="manager">要监控的多媒体管理器实例</param> /// <param name="timeoutSpanInSecs">等待的最大时间,单位:秒。如果小于等于0,表示无限。</param> /// <returns>true表示多媒体管理器已经可用,false表示超时。</returns> public static bool WaitUtilAvailable(IMultimediaManager manager, int timeoutSpanInSecs) { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); while (!manager.Available) { System.Threading.Thread.Sleep(100); if (timeoutSpanInSecs > 0 && stopwatch.Elapsed.TotalSeconds >= timeoutSpanInSecs) { stopwatch.Stop(); return(false); } } stopwatch.Stop(); return(true); }
static void Main() { try { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); GlobalResourceManager.PreInitialize(); //ESPlus.GlobalUtil.SetMaxLengthOfUserID(20); ESPlus.GlobalUtil.SetMaxLengthOfMessage(1024 * 1024 * 10); //OMCS.GlobalUtil.SetMaxLengthOfUserID(20); MainForm mainForm = new MainForm(); IRapidPassiveEngine passiveEngine = RapidEngineFactory.CreatePassiveEngine(); NDiskPassiveHandler nDiskPassiveHandler = new NDiskPassiveHandler(); //V 2.0 ComplexCustomizeHandler complexHandler = new ComplexCustomizeHandler(nDiskPassiveHandler, mainForm); //V 2.0 LoginForm loginForm = new LoginForm(passiveEngine, complexHandler); if (loginForm.ShowDialog() != DialogResult.OK) { return; } #region 初始化OMCS Program.MultimediaManager = MultimediaManagerFactory.GetSingleton(); Program.MultimediaManager.CameraDeviceIndex = SystemSettings.Singleton.WebcamIndex; Program.MultimediaManager.MicrophoneDeviceIndex = SystemSettings.Singleton.MicrophoneIndex; Size?okSize = OMCS.Tools.Camera.MatchCameraVideoSize(SystemSettings.Singleton.WebcamIndex, GlobalConsts.CommonQualityVideo); Program.MultimediaManager.CameraVideoSize = okSize == null ? new Size(320, 240) : okSize.Value; Program.MultimediaManager.OmcsLogger = GlobalResourceManager.Logger; Program.MultimediaManager.CameraEncodeQuality = 10; Program.MultimediaManager.Initialize(passiveEngine.CurrentUserID, "", ConfigurationManager.AppSettings["ServerIP"], int.Parse(ConfigurationManager.AppSettings["OmcsServerPort"])); #endregion nDiskPassiveHandler.Initialize(passiveEngine.FileOutter, null); mainForm.Initialize(passiveEngine, loginForm.LoginStatus, loginForm.StateImage); Application.Run(mainForm); } catch (Exception ee) { MessageBoxEx.Show(ee.Message); ee = ee; } }
public DeviceSelectForm(IMultimediaManager mgr) { InitializeComponent(); this.multimediaManager = mgr; this.userID = this.multimediaManager.CurrentUserID; this.ipe = this.multimediaManager.ServerIPE; this.multimediaManager.DeviceErrorOccurred += new CbGeneric<MultimediaDeviceType, int, string>(multimediaManager_DeviceErrorOccurred); this.cameraConnector1.ConnectEnded += new CbGeneric<ConnectResult>(cameraConnector1_ConnectEnded); this.microphoneConnector1.ConnectEnded += new CbGeneric<ConnectResult>(microphoneConnector1_ConnectEnded); this.button_refresh_Click(this.button_refresh, new EventArgs()); try { this.comboBox1.SelectedIndex = this.multimediaManager.CameraDeviceIndex; } catch { } }
public DeviceSelectForm(IMultimediaManager mgr) { InitializeComponent(); this.multimediaManager = mgr; this.userID = this.multimediaManager.CurrentUserID; this.ipe = this.multimediaManager.ServerIPE; this.multimediaManager.DeviceErrorOccurred += new CbGeneric <MultimediaDeviceType, int, string>(multimediaManager_DeviceErrorOccurred); this.cameraConnector1.ConnectEnded += new CbGeneric <ConnectResult>(cameraConnector1_ConnectEnded); this.microphoneConnector1.ConnectEnded += new CbGeneric <ConnectResult>(microphoneConnector1_ConnectEnded); this.button_refresh_Click(this.button_refresh, new EventArgs()); try { this.comboBox1.SelectedIndex = this.multimediaManager.CameraDeviceIndex; } catch { } }
public void Initialize(IMultimediaManager mgr) { this.multimediaManager = mgr; this.multimediaManager.CameraEncodeQuality = 6; this.multimediaManager.AudioCaptured += new CbGeneric <byte[]>(multimediaManager_AudioCaptured); this.microphoneConnector1.AudioDataReceived += new CbGeneric <byte[]>(microphoneConnector1_AudioDataReceived); this.microphoneConnector1.Disconnected += new CbGeneric <ConnectorDisconnectedType>(microphoneConnector1_Disconnected); this.cameraConnector1.Disconnected += new CbGeneric <ConnectorDisconnectedType>(cameraConnector1_Disconnected); this.skinCheckBox_camera.Checked = this.multimediaManager.OutputVideo; //如果是ConnectOnlyWhenNeed,则每次都会重新创建multimediaManager this.skinCheckBox_mic.Checked = this.multimediaManager.OutputAudio; //如果是ConnectOnlyWhenNeed,则每次都会重新创建multimediaManager if (!this.isWaitingAnswer) //同意视频,开始连接 { this.OnAgree(); } this.channelQualityDisplayer1.Initialize(this.friendID); this.switchCameraSzieCallbackTimer.DetectSpanInSecs = 1; this.switchCameraSzieCallbackTimer.Start(); }
public void Initialize(IRapidPassiveEngine _rapidPassiveEngine, IMultimediaManager _multimediaManager, IDynamicGroupOutter dynaGroupOutter, string userID, string owner, bool creater) { this.Cursor = Cursors.WaitCursor; this.rapidPassiveEngine = _rapidPassiveEngine; this.multimediaManager = _multimediaManager; this.groupOutter = dynaGroupOutter; this.currentUserID = userID; this.ownerID = owner; this.groupID = owner; this.isCreater = creater; MultimediaManagerHelper.WaitUtilAvailable(this.multimediaManager, 30); this.hasInitialized = true; this.Text += " - 房主:" + this.ownerID; this.toolStripLabel_User.Text = "当前登录:" + this.currentUserID; this.textChatControl1.Initialize(this.currentUserID, this.groupID, this.groupOutter); this.whiteBoardConnector1.AutoReconnect = false; this.whiteBoardConnector1.ConnectEnded += new ESBasic.CbGeneric <OMCS.Passive.ConnectResult>(whiteBoardConnector1_ConnectEnded); this.rapidPassiveEngine.BasicOutter.BeingPushedOut += new CbGeneric(BasicOutter_BeingPushedOut); this.rapidPassiveEngine.ConnectionInterrupted += new CbGeneric(TcpPassiveEngine_ConnectionInterrupted); this.multimediaManager.ConnectionInterrupted += new CbGeneric <IPEndPoint>(multimediaManager_ConnectionInterrupted); this.groupOutter.BroadcastReceived += new CbGeneric <string, string, int, byte[]>(GroupOutter_BroadcastReceived); this.groupOutter.SomeoneQuitGroup += new CbGeneric <string, string>(GroupOutter_SomeoneQuitGroup); this.groupOutter.SomeoneJoinGroup += new CbGeneric <string, string>(GroupOutter_SomeoneJoinGroup); this.groupOutter.GroupmateOffline += new CbGeneric <string>(groupOutter_GroupmateOffline); this.groupOutter.JoinGroup(ownerID); this.multiVideoChatContainer1.Initialize(this.multimediaManager, this.ownerID); this.whiteBoardConnector1.BeginConnect(this.ownerID); this.Cursor = Cursors.Default; this.timer = new System.Threading.Timer(new System.Threading.TimerCallback(this.TimerAction), null, 1000, 1000); }
public DeviceSelectForm(IMultimediaManager mgr) { InitializeComponent(); this.multimediaManager = mgr ?? MultimediaManagerFactory.GetSingleton(); this.userID = this.multimediaManager.CurrentUserID; this.ipe = this.multimediaManager.ServerIPE; this.multimediaManager.AudioCaptured += new CbGeneric <byte[]>(multimediaManager_AudioCaptured); this.multimediaManager.DeviceErrorOccurred += new CbGeneric <MultimediaDeviceType, int, string>(multimediaManager_DeviceErrorOccurred); this.cameraConnector1.ConnectEnded += new CbGeneric <ConnectResult>(cameraConnector1_ConnectEnded); this.microphoneConnector1.ConnectEnded += new CbGeneric <ConnectResult>(microphoneConnector1_ConnectEnded); this.button_refresh_Click(this.button_refresh, new EventArgs()); try { this.comboBox_camera.SelectedIndex = this.multimediaManager.CameraDeviceIndex; this.comboBox_mic.SelectedIndex = this.multimediaManager.MicrophoneDeviceIndex; this.comboBox_speaker.SelectedIndex = this.multimediaManager.SpeakerIndex; } catch { } }
public DeviceSelectForm(IMultimediaManager mgr) { InitializeComponent(); this.multimediaManager = mgr ?? MultimediaManagerFactory.GetSingleton(); this.userID = this.multimediaManager.CurrentUserID; this.ipe = this.multimediaManager.ServerIPE; this.multimediaManager.AudioCaptured += new CbGeneric<byte[]>(multimediaManager_AudioCaptured); this.multimediaManager.DeviceErrorOccurred += new CbGeneric<MultimediaDeviceType, int, string>(multimediaManager_DeviceErrorOccurred); this.cameraConnector1.ConnectEnded += new CbGeneric<ConnectResult>(cameraConnector1_ConnectEnded); this.microphoneConnector1.ConnectEnded += new CbGeneric<ConnectResult>(microphoneConnector1_ConnectEnded); this.button_refresh_Click(this.button_refresh, new EventArgs()); try { this.comboBox_camera.SelectedIndex = this.multimediaManager.CameraDeviceIndex; this.comboBox_mic.SelectedIndex = this.multimediaManager.MicrophoneDeviceIndex; this.comboBox_speaker.SelectedIndex = this.multimediaManager.SpeakerIndex; } catch { } }
public void Initialize(IRapidPassiveEngine engine, IMultimediaManager mgr) { this.rapidPassiveEngine = engine; this.multimediaManager = mgr; this.multimediaManager.AudioCaptured += new CbGeneric <byte[]>(multimediaManager_AudioCaptured); this.dynamicCameraConnector1.DisplayVideoParameters = true; // 在视频图像上面打印视频的相关信息(视频尺寸、编码质量、帧频)。 this.microphoneConnector1.AudioDataReceived += new CbGeneric <byte[]>(microphoneConnector1_AudioDataReceived); this.microphoneConnector1.Disconnected += new CbGeneric <ConnectorDisconnectedType>(microphoneConnector1_Disconnected); this.cameraConnector1.Disconnected += new CbGeneric <ConnectorDisconnectedType>(cameraConnector1_Disconnected); this.skinCheckBox_camera.Checked = this.multimediaManager.OutputVideo; //如果是ConnectOnlyWhenNeed,则每次都会重新创建multimediaManager this.skinCheckBox_mic.Checked = this.multimediaManager.OutputAudio; //如果是ConnectOnlyWhenNeed,则每次都会重新创建multimediaManager if (!this.isWaitingAnswer) //同意视频,开始连接 { this.OnAgree(); } this.channelQualityDisplayer1.Initialize(this.friendID); this.switchCameraSzieCallbackTimer.DetectSpanInSecs = 1; this.switchCameraSzieCallbackTimer.Start(); }
public VideoViewer(string _selfID, string _friendID, bool showWaitingInfo, IMultimediaManager _multimediaManager) { InitializeComponent(); this.fullForm.Visible = false; this.fullForm.BigPanel.MouseDoubleClick += new MouseEventHandler(BigPanel_MouseDoubleClick); this.fullForm.KeyDown += new KeyEventHandler(fullForm_KeyDown); this.label1.Visible = showWaitingInfo; this.multimediaManager = _multimediaManager; this.friendID = _friendID; this.selfID = _selfID; this.dynamicCameraConnector_other.ConnectEnded += new ESBasic.CbGeneric <OMCS.Passive.ConnectResult>(cameraConnector1_ConnectEnded); this.dynamicCameraConnector_other.Disconnected += new ESBasic.CbGeneric <OMCS.Passive.ConnectorDisconnectedType>(cameraConnector1_Disconnected); this.microphoneConnector1.ConnectEnded += new ESBasic.CbGeneric <OMCS.Passive.ConnectResult>(microphoneConnector1_ConnectEnded); this.microphoneConnector1.Disconnected += new ESBasic.CbGeneric <OMCS.Passive.ConnectorDisconnectedType>(microphoneConnector1_Disconnected); this.dynamicCameraConnector_self.ConnectEnded += new ESBasic.CbGeneric <OMCS.Passive.ConnectResult>(dynamicCameraConnector_self_ConnectEnded); this.dynamicCameraConnector_other.WaitOwnerOnlineSpanInSecs = 20; this.microphoneConnector1.WaitOwnerOnlineSpanInSecs = 20; }
public void Initialize(IRapidPassiveEngine engine, IMultimediaManager mgr) { this.rapidPassiveEngine = engine; this.multimediaManager = mgr; this.multimediaManager.CameraEncodeQuality = 6; this.multimediaManager.AudioCaptured += new CbGeneric<byte[]>(multimediaManager_AudioCaptured); this.dynamicCameraConnector1.DisplayVideoParameters = true; // 在视频图像上面打印视频的相关信息(视频尺寸、编码质量、帧频)。 this.microphoneConnector1.AudioDataReceived += new CbGeneric<byte[]>(microphoneConnector1_AudioDataReceived); this.microphoneConnector1.Disconnected += new CbGeneric<ConnectorDisconnectedType>(microphoneConnector1_Disconnected); this.cameraConnector1.Disconnected += new CbGeneric<ConnectorDisconnectedType>(cameraConnector1_Disconnected); this.skinCheckBox_camera.Checked = this.multimediaManager.OutputVideo;//如果是ConnectOnlyWhenNeed,则每次都会重新创建multimediaManager this.skinCheckBox_mic.Checked = this.multimediaManager.OutputAudio; //如果是ConnectOnlyWhenNeed,则每次都会重新创建multimediaManager if (!this.isWaitingAnswer) //同意视频,开始连接 { this.OnAgree(); } this.channelQualityDisplayer1.Initialize(this.friendID); this.switchCameraSzieCallbackTimer.DetectSpanInSecs = 1; this.switchCameraSzieCallbackTimer.Start(); }
public SystemSettingForm(string _userID, string _groupID, IMultimediaManager _multimediaManager, IRapidPassiveEngine engine) { InitializeComponent(); this.multimediaManager = _multimediaManager; this.userID = _userID; this.groupID = _groupID; this.rapidPassiveEngine = engine; IList <CameraInformation> cameras = Camera.GetCameras(); this.comboBox_webcam.DataSource = cameras; if (cameras.Count == 0) { UserConfiguration.Singleton.WebcamIndex = 0; } else { if (cameras.Count >= UserConfiguration.Singleton.WebcamIndex + 1) { this.comboBox_webcam.SelectedIndex = UserConfiguration.Singleton.WebcamIndex; } else { this.comboBox_webcam.SelectedIndex = 0; } } if (UserConfiguration.Singleton.ButtballIsOpen) { this.radioButton_openButtball.Checked = true; //this.radioButton_closeButtball.Checked = false; } else { this.radioButton_closeButtball.Checked = true; //this.radioButton_openButtball.Checked = false; } }
static void Main() { try { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); LoginForm f1 = new LoginForm(); if (f1.ShowDialog() != DialogResult.OK)//f1的button点击确定后值为ok,所以返回 { return; } OMCSConfiguration config = new OMCSConfiguration(); //用于验证登录用户的帐密 DefaultUserVerifier userVerifier = new DefaultUserVerifier(); Program.MultimediaServer = MultimediaServerFactory.CreateMultimediaServer(int.Parse(ConfigurationManager.AppSettings["Port"]), userVerifier, config, bool.Parse(ConfigurationManager.AppSettings["SecurityLogEnabled"])); f1.sever2(Program.MultimediaServer); IMultimediaManager multimediaManager = MultimediaManagerFactory.GetSingleton(); multimediaManager.Advanced.AllowDiscardFrameWhenBroadcast = false; //正式部署使用时,建议设置为true。 multimediaManager.CameraVideoSize = new System.Drawing.Size(320, 240); multimediaManager.AutoAdjustCameraEncodeQuality = true; multimediaManager.ChannelMode = ChannelMode.P2PDisabled; multimediaManager.SecurityLogEnabled = false; multimediaManager.CameraDeviceIndex = 0; multimediaManager.MicrophoneDeviceIndex = int.Parse(ConfigurationManager.AppSettings["MicrophoneIndex"]); multimediaManager.SpeakerIndex = int.Parse(ConfigurationManager.AppSettings["SpeakerIndex"]); multimediaManager.DesktopEncodeQuality = 3; multimediaManager.Initialize(f1.Bccount, f1.Cccount, ConfigurationManager.AppSettings["ServerIP"], int.Parse(ConfigurationManager.AppSettings["ServerPort"])); MainForm f3 = new MainForm(multimediaManager, f1.RoomID); Application.Run(f3); } catch (Exception ee) { MessageBox.Show(ee.Message); } }
public ChatContainer(IMultimediaManager multimediaManager) { this.multimediaManager = multimediaManager; }
public void Initialize(IRapidPassiveEngine _rapidPassiveEngine, IMultimediaManager _multimediaManager, IDynamicGroupOutter dynaGroupOutter, string userID, string owner, bool creater) { this.Cursor = Cursors.WaitCursor; this.rapidPassiveEngine = _rapidPassiveEngine; this.multimediaManager = _multimediaManager; this.groupOutter = dynaGroupOutter; this.currentUserID = userID; this.ownerID = owner; this.groupID = owner; this.isCreater = creater; MultimediaManagerHelper.WaitUtilAvailable(this.multimediaManager, 30); this.hasInitialized = true; this.Text += " - 房主:" + this.ownerID; this.toolStripLabel_User.Text = "当前登录:" + this.currentUserID; this.textChatControl1.Initialize(this.currentUserID, this.groupID, this.groupOutter); this.whiteBoardConnector1.AutoReconnect = false; this.whiteBoardConnector1.ConnectEnded += new ESBasic.CbGeneric<OMCS.Passive.ConnectResult>(whiteBoardConnector1_ConnectEnded); this.rapidPassiveEngine.BasicOutter.BeingPushedOut += new CbGeneric(BasicOutter_BeingPushedOut); this.rapidPassiveEngine.ConnectionInterrupted += new CbGeneric(TcpPassiveEngine_ConnectionInterrupted); this.multimediaManager.ConnectionInterrupted += new CbGeneric<IPEndPoint>(multimediaManager_ConnectionInterrupted); this.groupOutter.BroadcastReceived += new CbGeneric<string, string, int, byte[]>(GroupOutter_BroadcastReceived); this.groupOutter.SomeoneQuitGroup += new CbGeneric<string, string>(GroupOutter_SomeoneQuitGroup); this.groupOutter.SomeoneJoinGroup += new CbGeneric<string, string>(GroupOutter_SomeoneJoinGroup); this.groupOutter.GroupmateOffline += new CbGeneric<string>(groupOutter_GroupmateOffline); this.groupOutter.JoinGroup(ownerID); this.multiVideoChatContainer1.Initialize(this.multimediaManager, this.ownerID); this.whiteBoardConnector1.BeginConnect(this.ownerID); this.Cursor = Cursors.Default; this.timer = new System.Threading.Timer(new System.Threading.TimerCallback(this.TimerAction) ,null,1000,1000) ; }