예제 #1
0
 private void btnKetNoi_Click(object sender, EventArgs e)
 {
     if (btnKetNoi.Text == "Kết nối ứng dụng")
     {
         if (txtURL.Text.Trim() == "" || txtURL.Text.Trim() == null)
         {
             MessageBox.Show("Bạn chưa kết nối ứng dụng");
         }
         else
         {
             picQR.Visible    = true;
             Stream           = new MJPEGStream(txtURL.Text);
             Stream.NewFrame += stream_NewFrame;
             Stream.Start();
             timer1.Enabled = true;
             timer1.Start();
             btnKetNoi.Text = "Ngắt ứng dụng";
         }
     }
     else
     {
         picQR.Visible  = false;
         btnKetNoi.Text = "Kết nối ứng dụng";
         timer1.Stop();
         Stream.Stop();
         timer1.Enabled = false;
     }
 }
예제 #2
0
 private void button2_Click(object sender, EventArgs e)
 {
     stream.Source = Interaction.InputBox("Please Enter Stream Source URL", "Stream URL", "http://192.168.1.128:8080/video");
     stream.Stop();
     pictureBox1.Image = null;
     stream.Start();
 }
예제 #3
0
        private void btn_playPause_Click(object sender, EventArgs e)
        {
            i++;
            if (i % 2 == 0)
            {
                this.btn_playPause.Image = ((System.Drawing.Image)(Properties.Resources.playIcon));

                btn_capImage.Enabled = false;
                videoSource.SignalToStop();
                videoSource.WaitForStop();
                videoSource.Stop();
            }
            else
            {
                new Thread(() => {
                    Thread.CurrentThread.IsBackground = true;
                    btn_capImage.Enabled     = true;
                    videoSource.Login        = camUsername;
                    videoSource.Password     = camPassword;
                    this.btn_playPause.Image = ((System.Drawing.Image)(Properties.Resources.pauseIcon));
                    videoSource.NewFrame    += new NewFrameEventHandler(video_NewFrame);
                    videoSource.Start();
                }).Start();
            }
        }
        private void btConnect_Click(object sender, EventArgs e)
        {
            if (btConnect.Text == "Kết nối")
            {
                if (tbSearch.text.Trim() == "" || tbSearch.text.Trim() == null)
                {
                    MessageBox.Show("Bạn chưa kết nối ứng dụng");
                }
                else
                {
                    pictureBox1.Visible = true;
                    Stream           = new MJPEGStream(tbSearch.text);
                    Stream.NewFrame += stream_NewFrame;
                    Stream.Start();
                    timer1.Enabled = true;
                    timer1.Start();

                    btConnect.Text = "Ngừng";
                    //btConnect.Iconimage = Image.FromFile("..//..//..//..//image//icondis.png");
                }
            }
            else
            {
                pictureBox1.Visible = false;
                btConnect.Text      = "Kết nối";
                //btConnect.Iconimage = Image.FromFile("..//..//..//..//image//iconconnect.png");
                timer1.Stop();
                Stream.Stop();
                timer1.Enabled = false;
            }
        }
예제 #5
0
 private void MonitorForm_FormClosing(object sender, FormClosingEventArgs e)
 {
     if (videoStream.IsRunning)
     {
         videoStream.Stop();
     }
     sqlite.close();
     pgsql.close();
 }
예제 #6
0
        /// <summary>
        /// Handles the Click event of the btnConnect control.
        /// This event handler is used when the streaming is in progress.
        /// It stops the streaming, logs the event and changes the button's behaviour to connect.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
        private void btnStreamDisconnect_Click(object sender, EventArgs e)
        {
            //Stop the stream
            videoStream.Stop();

            //Log the event
            logger.LogMsg("Disconnected");

            //Change the button's behaviour
            btnStreamConnect.Text   = "Connect";
            tbCamAddress.Enabled    = true;
            btnStreamConnect.Click -= btnStreamDisconnect_Click;
            btnStreamConnect.Click += btnStreamConnect_Click;
        }
예제 #7
0
 public void CameraUpdate(int state, string ip = "192.168.137.69", int port = 8091)
 {
     //stream.Source = "http://" + ip + ":" + port.ToString() + "/?action=stream";
     if (state == 1)
     {
         if (stream.IsRunning)
         {
         }
         else
         {
             stream.Start();
         }
     }
     else
     {
         if (stream.IsRunning)
         {
             stream.Stop();
         }
         else
         {
             return;
         }
     }
 }
예제 #8
0
 private void Window_Closed(object sender, EventArgs e)
 {
     //clean up the event handler for safety
     stream.NewFrame -= Stream_NewFrame;
     //end the stream to stop that thread
     stream.Stop();
 }
예제 #9
0
 public void update(bool state, string ip = "192.168.137.69", int port = 8091)
 {
     if (state) //Start Stream
     {
         stream.Source = "http://" + ip + ":" + port.ToString() + "/?action=stream";
         if (!stream.IsRunning)
         {
             stream.Start();
         }
     }
     else
     {
         try
         {
             if (stream.IsRunning)
             {
                 if (stream.FramesReceived > 0)
                 {
                     //stream.Stop();
                 }
                 stream.Stop();
             }
             else
             {
                 return;
             }
         }
         catch (Exception e)
         {
             Console.WriteLine("", e);
         }
     }
 }
        private void OpenMjpeg(string path)
        {
            MJPEGStream videoStream = new MJPEGStream();

            FormClosing += (o, args) => {
                videoStream.Stop();
            };
            videoStream.VideoSourceError += (o, args) => {
                MessageBox.Show(args.Description);
            };
            videoStream.Source = path;

            videoStream.Start();

            videoInfoToolStripMenuItem.Enabled = false;
            _isFrameReady                = false;
            _isVideoProcessing           = true;
            progressBar.Value            = 0;
            progressBar.Maximum          = 1;
            buttonPlay.Image             = Resources.if_PauseDisabled_22964;
            buttonPlay.Enabled           = false;
            labelTimeProgressFinish.Text = "-";

            Play(videoStream);
            timer.Enabled = false;
        }
예제 #11
0
        private void BtnAGVDisconnect_Click(object sender, EventArgs e)
        {
            sock.Close();
            stream.Stop();

            OnDisconnect_Click(sock, stream);
        }
예제 #12
0
        private void DoWork(object context)
        {
            var controller = (ServerController)context;

            using (var results = new MessageRouterResults(controller.Log, controller.Model.Settings.TargetQueueConfig))
            {
                controller.Log.Info("Connecting to {0}", controller.Model.Settings.CameraConnection.Title);

                var mjpegConnection = new MJPEGStream
                {
                    Source   = controller.Model.Settings.CameraConnection.Uri,
                    Login    = controller.Model.Settings.CameraConnection.User,
                    Password = controller.Model.Settings.CameraConnection.Password,
                };

                mjpegConnection.NewFrame += (x, y) => OnNewFrame(controller, results, y);
                mjpegConnection.Start();
                try
                {
                    while (true)
                    {
                        Thread.Sleep(100);
                    }
                }
                catch (ThreadAbortException e)
                {
                    mjpegConnection.Stop();
                }
            }
        }
예제 #13
0
        private void PiUpdateThread()
        {
            while (establishedConnectionWithPi && runThreads)
            {
                byte[] piBuf;
                try
                {
                    piBuf = raspberryPiClient.Receive(ref piEndPoint);
                }
                catch
                {
                    if (stream != null)
                    {
                        stream.Stop();
                        stream = null;
                    }
                    establishedConnectionWithPi = false;
                    break;
                }

                double dist     = BitConverter.ToDouble(piBuf, 0);
                double angle    = BitConverter.ToDouble(piBuf, 8);
                double rawSep   = BitConverter.ToDouble(piBuf, 16);
                double rawMid   = BitConverter.ToDouble(piBuf, 24);
                long   loopTime = BitConverter.ToInt64(piBuf, 32);

                if (BitConverter.IsLittleEndian)
                {
                    FlipDouble(ref dist);
                    FlipDouble(ref angle);
                    FlipDouble(ref rawSep);
                    FlipDouble(ref rawMid);
                    FlipLong(ref loopTime);
                }
                lock (piLock)
                {
                    raspberryPiData.SetTargetAngle(angle);
                    raspberryPiData.SetTargetDistance(dist);
                    raspberryPiData.SetRawSeperation(rawSep);
                    raspberryPiData.SetRawMidpoint(rawMid);
                    raspberryPiData.SetLoopTime(loopTime);
                }

                System.Threading.Thread.Sleep(100);
            }
        }
예제 #14
0
        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
#if REMOTE_CAMERA
            remoteSource.Stop();
#else
            localSource.Stop();
#endif
        }
예제 #15
0
파일: Form1.cs 프로젝트: Clayboys/HOAPortal
 private void UpdateStreamSources()
 {
     stream1.Stop();
     stream2.Stop();
     stream1.Source = "http://" + this.ipAddresses[comboBox1.SelectedIndex] + ":8080/?action=stream";
     stream2.Source = "http://" + this.ipAddresses[comboBox2.SelectedIndex] + ":8080/?action=stream";
     stream1.Start();
     stream2.Start();
 }
예제 #16
0
 private void btnConnect_Click(object sender, EventArgs e)
 {
     if (btnConnect.Text == "Connect")
     {
         stream           = new MJPEGStream(tbURLDroidCam.Text);
         stream.NewFrame += stream_NewFrame;
         stream.Start();
         timer1.Enabled = true;
         timer1.Start();
         btnConnect.Text = "Disconnect";
     }
     else
     {
         btnConnect.Text = "Connect";
         timer1.Stop();
         stream.Stop();
     }
 }
        public void Stop()
        {
            stream.Stop();

            if (FPSLoop != null)
            {
                FPSLoop.Stop();
            }
        }
예제 #18
0
 private void cameraInitialize()
 {
     /***** CAMERA INITIALIZE *****/
     stream           = new MJPEGStream("http://" + textBoxIP.Text + ":" + textBoxPort.Text + "/?action=stream");
     stream.NewFrame += new NewFrameEventHandler(newFrame);
     stream.Stop();
     stream.Source = "http://" + textBoxIP.Text + ":" + textBoxPort.Text + "/?action=stream";
     stream.Start();
     /***** CAMERA INITIALIZE *****/
 }
예제 #19
0
 private void Btn_stream_Click(object sender, EventArgs e)  //AVVIO STREAM
 {
     if (Stream.IsRunning == true)
     {
         Stream.Stop();
         Btn_stream.Normalcolor  = Color.DarkGreen;
         Btn_stream.OnHovercolor = Color.Lime;
         Btn_stream.Iconimage    = new Bitmap("play.png");
         return;
     }
     Stream.Start();
     Btn_stream.Normalcolor  = Color.DarkRed;
     Btn_stream.OnHovercolor = Color.Red;
     Btn_stream.Iconimage    = new Bitmap("stop.png");
     Rb_tracking.Enabled     = true;
     Rb_detection.Enabled    = true;
     Btn_screenshot.Enabled  = true;
     btVideo.Enabled         = true;
     Btn_stream.Text         = "Interrompi Stream";
 }
예제 #20
0
        private void formRobotCom_2_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (Robot1.IsRunning)
            {
                Robot1.Stop();
            }

            else if (Robot2.IsRunning)
            {
                Robot2.Stop();
            }
        }
예제 #21
0
 private void DisconnectButton_Clicked(object sender, RoutedEventArgs e)
 {
     try
     {
         stream.Stop();
         stream = null;
         VideoDisplay.Source = null;
     }
     catch (NullReferenceException)
     {
     }
 }
예제 #22
0
 private void button2_Click(object sender, EventArgs e)
 {
     try
     {
         if (stream.IsRunning == true)
         {
             stream.Stop();
         }
     }
     catch
     { 
     }
 }
예제 #23
0
 private void btnSave_Click(object sender, EventArgs e)
 {
     if (pBCapture.Image != null)
     {
         if (isCaptured)
         {
             Image copy = pBCapture.Image;
             copy.Save("C:/Users/Baraa/source/repos/image/saved.png");
             stream.Stop();
             this.Close();
             Globals.haveImage = true;
         }
         else
         {
             MessageBox.Show("Please capture image first");
         }
     }
     else
     {
         MessageBox.Show("null exception");
     }
 }
예제 #24
0
 void disconnectCamera()
 {
     workCamera = false;
     try
     {
         if (stream != null)
         {
             stream.Stop();
         }
         pictureBox1.Image = null;
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.ToString());
     }
 }
예제 #25
0
 public void loadCam()
 {
     if (button2.Text == "QR")
     {
         stream           = new MJPEGStream("http://192.168.1.9:4747/video");
         stream.NewFrame += stream_NewFrame;
         stream.Start();
         timer1.Enabled = true;
         timer1.Start();
         button2.Text = "...";
     }
     else
     {
         timer1.Enabled = false;
         button2.Text   = "QR";
         timer1.Stop();
         stream.Stop();
     }
 }
 private void btnStream_Click(object sender, EventArgs e)
 {
     if (txtIp.Text.Length > 0)
     {
         stream           = new MJPEGStream(txtIp.Text);
         stream.NewFrame += stream_Newframe;
         if (stream.IsRunning)
         {
             stream.Stop();
         }
         else
         {
             stream.Start();
         }
     }
     else
     {
         MessageBox.Show("Error: enter the IP address for cam !!");
     }
 }
예제 #27
0
 private void RecordInner_Click(object sender, RoutedEventArgs e)
 {
     if (string.IsNullOrEmpty(SerialNo.Text))
     {
         MessageBox.Show("Enter serial number");
     }
     else
     {
         if ((bool)innerJpeg.IsChecked)
         {
             if (innerJpegStream != null && innerJpegStream.IsRunning)
             {
                 innerJpegStream.Stop();
                 recInnerVdo?.StopRecording();
                 RecordInner.Content = "Record";
             }
             else
             {
                 innerJpegStream = new JPEGStream(innerIPCamUrl.Text);
                 StartStreamingForInner(innerJpegStream);
                 RecordInner.Content = "Stop";
             }
         }
         else // UseMJpegStream
         {
             if (innerMjpegStream != null && innerMjpegStream.IsRunning)
             {
                 innerMjpegStream.Stop();
                 recInnerVdo?.StopRecording();
                 RecordInner.Content = "Record";
             }
             else
             {
                 innerMjpegStream = new MJPEGStream(innerIPCamUrl.Text);
                 StartStreamingForInner(innerMjpegStream);
                 RecordInner.Content = "Stop";
             }
         }
     }
 }
예제 #28
0
 public void stopCameraCapture()
 {
     m_CameraStream.Stop();
 }
 private void button7_Click(object sender, EventArgs e)
 {
     mpeg.Stop();
 }
예제 #30
0
 private void Form1_FormClosing(object sender, FormClosingEventArgs e)
 {
     stream.Stop();
 }