Beispiel #1
0
        /// <summary>
        /// 初始化成员视频显示控件。
        /// </summary>
        public void Initialize(IChatUnit unit, bool myself)
        {
            this.Height = 200;// this.toolStrip1.Height + 180;
            this.Width  = 234;
            this.pictureBox_Camera.Size = new Size(32, 32);
            this.pictureBox_Mic.Size    = new Size(24, 24);

            this.chatUnit = unit;
            this.isMySelf = myself;
            this.toolStripLabel_displayName.Text = unit.MemberID;
            this.decibelDisplayer1.Visible       = !myself;

            //初始化麦克风连接器
            this.chatUnit.MicrophoneConnector.Mute = myself;
            this.chatUnit.MicrophoneConnector.SpringReceivedEventWhenMute = myself;
            this.chatUnit.MicrophoneConnector.ConnectEnded       += new CbGeneric <ConnectResult>(MicrophoneConnector_ConnectEnded);
            this.chatUnit.MicrophoneConnector.OwnerOutputChanged += new CbGeneric(MicrophoneConnector_OwnerOutputChanged);
            this.chatUnit.MicrophoneConnector.AudioDataReceived  += new CbGeneric <byte[]>(MicrophoneConnector_AudioDataReceived);
            this.chatUnit.MicrophoneConnector.BeginConnect(unit.MemberID);

            //初始化摄像头连接器
            this.chatUnit.DynamicCameraConnector.SetViewer(this.skinPanel1);
            this.chatUnit.DynamicCameraConnector.ConnectEnded       += new CbGeneric <ConnectResult>(DynamicCameraConnector_ConnectEnded);
            this.chatUnit.DynamicCameraConnector.OwnerOutputChanged += new CbGeneric(DynamicCameraConnector_OwnerOutputChanged);
            this.chatUnit.DynamicCameraConnector.Disconnected       += new CbGeneric <ConnectorDisconnectedType>(DynamicCameraConnector_Disconnected);
            this.chatUnit.DynamicCameraConnector.BeginConnect(unit.MemberID);
        }
Beispiel #2
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);
     }
 }
 public ChatMember(IChatUnit chatUnit)
 {
     this.chatUnit = chatUnit;
     //this.chatUnit.MicrophoneConnector.ConnectEnded += ;
     this.chatUnit.MicrophoneConnector.OwnerOutputChanged += () => { OwnerOutputChanged?.Invoke(this.chatUnit.MicrophoneConnector.OwnerOutput); };
     this.chatUnit.MicrophoneConnector.AudioDataReceived  += a => { AudioDataReceived?.Invoke(a); };
     //开始连接到目标成员的麦克风设备
     this.chatUnit.MicrophoneConnector.BeginConnect(chatUnit.MemberID);
 }
        public void Initialize(IChatUnit unit)
        {
            this.chatUnit            = unit;
            this.skinLabel_name.Text = unit.MemberID;

            this.chatUnit.MicrophoneConnector.ConnectEnded       += new ESBasic.CbGeneric <OMCS.Passive.ConnectResult>(MicrophoneConnector_ConnectEnded);
            this.chatUnit.MicrophoneConnector.OwnerOutputChanged += new CbGeneric(MicrophoneConnector_OwnerOutputChanged);
            this.chatUnit.MicrophoneConnector.AudioDataReceived  += new CbGeneric <byte[]>(MicrophoneConnector_AudioDataReceived);
            this.chatUnit.MicrophoneConnector.BeginConnect(unit.MemberID);
        }
Beispiel #5
0
        public void Initialize(IChatUnit unit)
        {
            this.chatUnit = unit;
            this.skinLabel_name.Text = unit.MemberID;

            this.chatUnit.MicrophoneConnector.ConnectEnded += new ESBasic.CbGeneric<OMCS.Passive.ConnectResult>(MicrophoneConnector_ConnectEnded);
            this.chatUnit.MicrophoneConnector.OwnerOutputChanged += new CbGeneric(MicrophoneConnector_OwnerOutputChanged);
            this.chatUnit.MicrophoneConnector.AudioDataReceived += new CbGeneric<byte[]>(MicrophoneConnector_AudioDataReceived);
            this.chatUnit.MicrophoneConnector.BeginConnect(unit.MemberID);
        }
Beispiel #6
0
 void chatGroup_SomeoneJoin(IChatUnit unit)
 {
     if (this.InvokeRequired)
     {
         this.BeginInvoke(new CbGeneric <IChatUnit>(this.chatGroup_SomeoneJoin), unit);
     }
     else
     {
         SpeakerVideoPanel panel = new SpeakerVideoPanel();
         this.flowLayoutPanel1.Controls.Add(panel);
         panel.Initialize(unit, false);
         this.groupBox_members.Text = string.Format("成员列表 ({0}人)", this.flowLayoutPanel1.Controls.Count);
     }
 }
Beispiel #7
0
 void chatGroup_SomeoneJoin(IChatUnit unit)
 {
     if (this.InvokeRequired)
     {
         this.BeginInvoke(new CbGeneric <IChatUnit>(this.chatGroup_SomeoneJoin), unit);
     }
     else
     {
         var 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);
     }
 }
Beispiel #8
0
        public void Initialize(IChatUnit unit, bool myself)
        {
            if (myself)
            {
                this.skinLabel_name.Text       = unit.MemberID;
                this.pictureBox_Mic.Visible    = false;
                this.decibelDisplayer1.Visible = false;
            }
            else
            {
                this.chatUnit            = unit;
                this.skinLabel_name.Text = unit.MemberID;

                this.chatUnit.MicrophoneConnector.ConnectEnded       += new ESBasic.CbGeneric <OMCS.Passive.ConnectResult>(MicrophoneConnector_ConnectEnded);
                this.chatUnit.MicrophoneConnector.OwnerOutputChanged += new CbGeneric(MicrophoneConnector_OwnerOutputChanged);
                this.chatUnit.MicrophoneConnector.AudioDataReceived  += new CbGeneric <byte[]>(MicrophoneConnector_AudioDataReceived);
                this.chatUnit.MicrophoneConnector.BeginConnect(unit.MemberID);
            }
        }
Beispiel #9
0
        //当有人加入聊天室
        void chatGroup_SomeoneJoin(IChatUnit unit)
        {
            //Task.Factory.StartNew(() => this.chatGroup_SomeoneJoin(unit));

            unit.MicrophoneConnector.BeginConnect(unit.MemberID);
        }
Beispiel #10
0
        /// <summary>
        /// 某人加入答疑室事件
        /// </summary>
        /// <param name="unit"></param>
        private void OnChatGroup_SomeoneJoin(IChatUnit unit)
        {
            ChatMember member = new ChatMember(unit);

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