Ejemplo n.º 1
0
 void chatGroup_SomeoneJoin(IChatUnit unit)
 {
     if (this.InvokeRequired)
     {
         this.BeginInvoke(new CbGeneric <IChatUnit>(this.chatGroup_SomeoneJoin), unit);
     }
     else
     {
         if (unit.MemberID.Equals("会议室2"))
         {
             VideoPanel panel = new VideoPanel();
             this.flowLayoutPanel1.Controls.Add(panel);
             panel.Initialize(unit, false);
             panel.InitializeVideo(unit, false);
         }
         else
         {
             VideoPanel panel = new VideoPanel();
             this.flowLayoutPanel1.Controls.Add(panel);
             panel.Initialize(unit, false);
             panel.Visible = false;
             //panel.InitializeVideo(unit, false);
         }
         this.groupBox_members.Text = string.Format("成员列表 ({0}人)", this.flowLayoutPanel1.Controls.Count);
         this.toolStripLabel1.Text  = string.Format("{0} 加入了组!", unit.MemberID);
     }
 }
Ejemplo n.º 2
0
        void chatGroup_SomeoneExit(string memberID)
        {
            if (this.InvokeRequired)
            {
                this.BeginInvoke(new CbGeneric <string>(this.chatGroup_SomeoneExit), memberID);
            }
            else
            {
                VideoPanel target = null;
                foreach (VideoPanel panel in this.flowLayoutPanel1.Controls)
                {
                    if (panel.MemberID == memberID)
                    {
                        target = panel;
                        break;
                    }
                }

                if (target == null)
                {
                    return;
                }

                this.flowLayoutPanel1.Controls.Remove(target);
                this.groupBox_members.Text = string.Format("成员列表 ({0}人)", this.flowLayoutPanel1.Controls.Count);
                this.toolStripLabel1.Text  = string.Format("{0} 退出了组!", memberID);
            }
        }
Ejemplo n.º 3
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());
        }