예제 #1
0
        public void Initialize(IMultimediaManager mgr, string chatGroupID)
        {
            this.multimediaManager = mgr;
            this.chatGroup         = this.multimediaManager.ChatGroupEntrance.Join(ChatType.Audio, 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);

            SpeakerPanel myselfPanel = new SpeakerPanel();

            myselfPanel.Initialize(this.multimediaManager.CurrentUserID);
            this.flowLayoutPanel1.Controls.Add(myselfPanel);
            foreach (IChatUnit unit in this.chatGroup.GetOtherMembers())
            {
                SpeakerPanel panel = new SpeakerPanel();
                panel.Initialize(unit);
                this.flowLayoutPanel1.Controls.Add(panel);
            }

            this.groupBox_members.Text = string.Format("成员列表({0}人)", this.flowLayoutPanel1.Controls.Count);

            this.flowLayoutPanel1_SizeChanged(this.flowLayoutPanel1, new EventArgs());
        }
예제 #2
0
 void chatGroup_SomeoneJoin(IChatUnit unit)
 {
     if (this.InvokeRequired)
     {
         this.BeginInvoke(new CbGeneric <IChatUnit>(this.chatGroup_SomeoneJoin), unit);
     }
     else
     {
         SpeakerPanel panel = new SpeakerPanel();
         panel.Width = this.flowLayoutPanel1.Width - 2;
         panel.Initialize(unit);
         this.flowLayoutPanel1.Controls.Add(panel);
         this.groupBox_members.Text = string.Format("成员列表 ({0}人)", this.flowLayoutPanel1.Controls.Count);
         this.toolStripLabel1.Text  = string.Format("{0} 加入了组!", unit.MemberID);
     }
 }