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()); }
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); } }
void chatGroup_SomeoneJoin(IChatUnit unit) { if (this.InvokeRequired) { this.BeginInvoke(new CbGeneric <IChatUnit>(this.chatGroup_SomeoneJoin), unit); } else { 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.toolStripLabel1.Text = string.Format("{0} 加入了组!", unit.MemberID); } }