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); } }
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); } }
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()); }