Esempio n. 1
0
        private void video_NewFrame(object sender, Video.NewFrameEventArgs eventArgs)
        {
            try
            {
                byte[]      byData;
                BitmapImage bi;
                IPAddress   ipAddress = IPAddress.Parse("127.0.0.1");
                IPEndPoint  remoteEP  = new IPEndPoint(ipAddress, 11000);
                IPEndPoint  myEP      = new IPEndPoint(ipAddress, 11000);
                Socket      senDer    = new Socket(ipAddress.AddressFamily, SocketType.Stream, ProtocolType.Tcp);

                senDer.Bind(myEP);
                senDer.Connect(remoteEP);

                using (var bitmap = (Bitmap)eventArgs.Frame.Clone())
                {
                    bi = bitmap.ToBitmapImage();
                }
                bi.Freeze(); // avoid cross thread operations and prevents leaks
                Dispatcher.BeginInvoke(new ThreadStart(delegate {
                    byData = ConvertBitmapSourceToByteArray(bi);
                    senDer.Send(byData);
                    senDer.Receive(byData, 10000, SocketFlags.None);
                    videoPlayer.Source = ToBitmapImage(byData); //bi;
                    senDer.Close();
                    Thread.Sleep(5);
                }));
            }
            catch (Exception exc)
            {
                MessageBox.Show("Error on _videoSource_NewFrame:\n" + exc.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                StopCamera();
            }
        }
 private void video_NewFrame(object sender, Video.NewFrameEventArgs eventArgs)
 {
     try
     {
         BitmapImage bi;
         using (var bitmap = (Bitmap)eventArgs.Frame.Clone())
         {
             bi = bitmap.ToBitmapImage();
         }
         bi.Freeze(); // avoid cross thread operations and prevents leaks
         Dispatcher.BeginInvoke(new ThreadStart(delegate { videoPlayer.Source = bi; }));
     }
     catch (Exception exc)
     {
         MessageBox.Show("Error on _videoSource_NewFrame:\n" + exc.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
         StopCamera();
     }
 }