void UDP_AUDIO_Conference_Server_evRecBuf(byte[] bByf)
        {
            UPD_Message sb = UPD_Message.FromByte(bByf);
            if (sb.From == Room) return;
            if (sb.To.Contains(Room) == false && sb.From != "server") return;

            var AudioSample = VoiceCapturedEventArgs.Deserialise(sb.Data.Clone() as byte[]);

            GC.Collect();

            if (sb.From == ServerName)
            {
                if (!IsIpAudioRecived) return;
            }
            lock (this)
            {
                this.MainDispatcher.BeginInvoke(
                DispatcherPriority.Normal,
                (ThreadStart)delegate()
                {
                    if (sb.From != null)
                    {
                        string str = sb.To.Aggregate("", (current, var) => current + (var + " "));
                        //TestInfo2 = "thisR =" + Room + "    audio R:" + From + "  To " + str;
                    }
                    else
                    {
                        // TestInfo2 = "";
                    }
                });

                if (bFlagMixVoice)
                {
                    bool bFlag = false;

                    foreach (ClassMultiAudio t in lst_bufSampAudio.Where(t => t.from == sb.From))
                    {
                        if (t.IndexMessage > AudioSample.IndexMessage)
                        {
                            continue;
                        }
                        t.DtRec = DateTime.Now;
                        t.IndexMessage = AudioSample.IndexMessage;
                        t.AudioStream.Write(AudioSample.Source, 0, AudioSample.Source.Length);
                        bFlag = true;
                    }

                    if (bFlag == false)
                    {
                        var cl = new ClassMultiAudio()
                        {
                            from = sb.From,
                            IndexMessage = AudioSample.IndexMessage,
                            DtRec = DateTime.Now
                        };
                        cl.AudioStream.Write(AudioSample.Source, 0, AudioSample.Source.Length);
                        lst_bufSampAudio.Add(cl);

                    }
                }
                else mFifo.Write(AudioSample.Source, 0, AudioSample.Source.Length);
                RecByte += AudioSample.Source.Length;


            }
            //throw new NotImplementedException();
        }
        void UDP_AUDIO_Server_evRecBuf(byte[] bByf)
        {
            GC.Collect();
            var AudioSample = VoiceCapturedEventArgs.Deserialise(bByf.Clone() as byte[]);

            lock (lst_bufSampAudio)
            {
                if (bFlagMixVoice)
                {
                    bool bFlag = false;
                    foreach (ClassMultiAudio t in lst_bufSampAudio.Where(t => t.from == "server"))
                    {
                        if (t.IndexMessage > AudioSample.IndexMessage)
                        {
                            continue;
                        }

                        t.IndexMessage = AudioSample.IndexMessage;
                        t.DtRec = DateTime.Now;
                        t.AudioStream.Write(AudioSample.Source, 0, AudioSample.Source.Length);
                        bFlag = true;
                    }

                    if (bFlag == false)
                    {
                        var cl = new ClassMultiAudio
                                     {
                                         IndexMessage = AudioSample.IndexMessage,
                                         from = "server",
                                         DtRec = DateTime.Now
                                     };
                        cl.AudioStream.Write(AudioSample.Source, 0, AudioSample.Source.Length);
                        lst_bufSampAudio.Add(cl);

                    }
                }
                else mFifo.Write(AudioSample.Source, 0, AudioSample.Source.Length);
                RecByte += AudioSample.Source.Length;
            }
        }
        public void AudioIPSample(SendBytes sb)
        {
         //   return;
            if (ServiceTime - sb.TimeStamp > TimeSpan.FromMilliseconds(2000))
            {
                MissAudioMessage++;
                OnPropertyChanged("TestInfo2");

                return;
            }
            IndexAudioMessage = sb.IndexMessage;

            GC.Collect();
            var AudioSample = VoiceCapturedEventArgs.Deserialise(sb.Data.Clone() as byte[]);

            if (sb.From == ServerName)
            {
                if (!IsIpAudioRecived) return;
            }

            lock (lst_bufSampAudio)
            {
                if (bFlagMixVoice)
                {
                    bool bFlag = false;
                    foreach (ClassMultiAudio t in lst_bufSampAudio.Where(t => t.from == sb.From))
                    {
                        if (t.IndexMessage > AudioSample.IndexMessage)
                        {
                            continue;
                        }

                        t.IndexMessage = AudioSample.IndexMessage;
                        t.DtRec = DateTime.Now;
                        t.AudioStream.Write(AudioSample.Source, 0, AudioSample.Source.Length);
                        bFlag = true;
                    }

                    if (bFlag == false)
                    {
                        var cl = new ClassMultiAudio()
                        {
                            from = sb.From,
                            IndexMessage = AudioSample.IndexMessage
                        };
                        cl.DtRec = DateTime.Now;
                        cl.AudioStream.Write(AudioSample.Source, 0, AudioSample.Source.Length);
                        lst_bufSampAudio.Add(cl);

                    }
                }
                else mFifo.Write(AudioSample.Source, 0, AudioSample.Source.Length);
                RecByte += AudioSample.Source.Length;


            }

        //    throw new NotImplementedException();
        }