Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
 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());
        }
Esempio n. 4
0
 public SoundRequest(string userName, string friendName, IMultimediaManager _multimediaManager)
 {
     InitializeComponent();
     this.userName          = userName;
     this.friendName        = friendName;
     this.multimediaManager = _multimediaManager;
 }
Esempio n. 5
0
        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);
            }
        }
Esempio n. 6
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);

            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());
        }
Esempio n. 7
0
        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);
            }
        }
Esempio n. 8
0
 public VideoConnection(string userName, string friendName, IMultimediaManager _multimediaManager)
 {
     InitializeComponent();
     this.userName          = userName;
     this.friendName        = friendName;
     this.multimediaManager = _multimediaManager;
 }
Esempio n. 9
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);

            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());
        }
Esempio n. 10
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            IMultimediaManager multimediaManager = MultimediaManagerFactory.GetSingleton();

            multimediaManager.ChannelMode = OMCS.Passive.ChannelMode.P2PDisabled;
            Application.Run(new login(multimediaManager));
        }
Esempio n. 11
0
        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);
        }
Esempio n. 12
0
        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;
        }
Esempio n. 13
0
 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);
        }
Esempio n. 15
0
 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;
 }
Esempio n. 16
0
 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;
 }
Esempio n. 17
0
 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;
     }
 }
Esempio n. 18
0
        /// <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);
            }
        }
Esempio n. 19
0
        /// <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);
        }
Esempio n. 20
0
        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;
            }
        }
Esempio n. 21
0
        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 { }
        }
Esempio n. 22
0
        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 { }
        }
Esempio n. 23
0
        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();
        }
Esempio n. 24
0
        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);
        }
Esempio n. 25
0
        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 { }
        }
Esempio n. 26
0
        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 { }
        }
Esempio n. 27
0
        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();
        }
Esempio n. 28
0
        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;
        }
Esempio n. 29
0
        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();
        }
Esempio n. 30
0
        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;
            }
        }
Esempio n. 31
0
        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); }
        }
Esempio n. 32
0
 public ChatContainer(IMultimediaManager multimediaManager)
 {
     this.multimediaManager = multimediaManager;
 }
Esempio n. 33
0
        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) ;
        }