예제 #1
0
 /// <summary>
 /// Pause.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void buttonPause_Click(object sender, EventArgs e)
 {
     if (_player != null)
     {
         _disk.Pause();
         EnabledOnPauseControls(true);
     }
 }
예제 #2
0
        public void Pause()
        {
            if (!IsPlaying)
            {
                return;
            }

            IsPlaying = false;
            mPlayer.Pause();
        }
예제 #3
0
        private void Player_PlayControl_Button_Click(object sender, EventArgs e)
        {
            switch (((Button)sender).Text)
            {
            case "暫停播放":
                m_player.Pause();
                ((Button)sender).Text = "繼續播放";
                break;

            case "繼續播放":
                m_player.Play();
                ((Button)sender).Text = "暫停播放";
                break;
            }
        }
예제 #4
0
 private void button2_Click(object sender, EventArgs e)
 {
     if (_mPlayer.IsPlaying)
     {
         _mPlayer.Pause();
     }
     else
     {
         if (_mPlayer.PlayerWillPlay)
         {
             _mPlayer.Play();
         }
         else
         {
             Play(_filename, Text);
         }
     }
 }
예제 #5
0
        private void button2_Click_1(object sender, EventArgs e)
        {
            if (button2.Text == "Pause")
            {
                button2.Text = "Continue";
            }
            else
            {
                button2.Text = "Pause";
            }


            m_player1.Pause();
            m_player2.Pause();
            m_player3.Pause();
            m_player4.Pause();
            m_player5.Pause();
            m_player6.Pause();
            m_player7.Pause();
            m_player8.Pause();

            // Here I was trying to allow the scrubber to work when the video was paused
            // UISync.Execute(() => InitControls());
        }
예제 #6
0
 private void button2_Click(object sender, EventArgs e)
 {
     m_player.Pause();
 }
예제 #7
0
        private void media_action()
        {
            DataTable ds1 = new DataTable();

            ds1 = DAL.Stream.FindCameras();

            List <myObject> url_list = (from row in ds1.AsEnumerable()
                                        select new myObject
            {               // add url here and to the database so it can be used with the PTZ
                stream = row.Field <string>("stream"),
                panel = row.Field <int>("panel"),
                parameters = row.Field <string>("parameters"),
                cam_url = row.Field <string>("cam_url")
            }).ToList();



            string switchExpression = m_action.Text;

            switch (switchExpression)
            {
            case "record":
                m_player1.Stop();
                m_player2.Stop();
                m_player3.Stop();
                m_player4.Stop();

                string[] filename = new string[url_list.Count];

                string[] output = new string[url_list.Count];


                for (int i = 0; i < url_list.Count; i++)
                {
                    filename[i] = String.Format("{0:yyyy-MM-dd-hh-mm-ss}_Camera" + (i + 1), DateTime.Now, Name);
                    if (i < (url_list.Count - 1))
                    {
                        // output[i] = @":sout=#duplicate{dst=file{dst=C:\Users\user1\Desktop\video\" + filename[i] + ".asf},dst=display} --udp-caching=750 --tcp-caching=750 --realrtsp-caching=750";    // --control netsync --netsync-master-ip 192.168.1.100
                        output[i] = @":sout=#duplicate{dst=file{dst=C:\Users\user1\Desktop\video\" + filename[i] + ".asf},dst=display}  --control netsync --netsync-master-ip 192.168.1.100";
                    }
                    else
                    {
                        // output[i] = @":sout=#duplicate{dst=file{dst=C:\Users\user1\Desktop\video\" + filename[i] + ".asf},dst=display} --udp-caching=750 --tcp-caching=750 --realrtsp-caching=750";  // --control netsync --netsync-master
                        output[i] = @":sout=#duplicate{dst=file{dst=C:\Users\user1\Desktop\video\" + filename[i] + ".asf},dst=display} --control netsync --netsync-master";
                    }
                }


                /*
                 * for (int i = 0; i < url_list.Count; i++)
                 * {
                 *  filename[i] = String.Format("{0:yyyy-MM-dd-hh-mm-ss}_Camera" + (i + 1), DateTime.Now, Name);
                 *
                 *  output[i] = @":sout=#duplicate{dst=file{dst=C:\Users\user1\Desktop\video\" + filename[i] + ".asf},dst=display} --udp-caching=750 --tcp-caching=750 --realrtsp-caching=750";  // --control netsync --netsync-master
                 *
                 * } */


                for (int i = 0; i < url_list.Count; i++)
                {
                    filename[i] = String.Format("{0:yyyy-MM-dd-hh-mm-ss}_Camera" + (i + 1), DateTime.Now, Name);

                    output[i] = @":sout=#duplicate{dst=file{dst=C:\Users\user1\Desktop\video\" + filename[i] + ".asf},dst=display}";
                }

                m_factory = new IMediaPlayerFactory[url_list.Count];

                for (int i = 0; i < url_list.Count; i++)
                {
                    m_factory[i] = new MediaPlayerFactory(true);
                    m_media[i]   = m_factory[i].CreateMedia <IMedia>(url_list[i].stream, output[i]);
                }


                break;

            case "view":

                /*
                 * string[] output1 = new string[url_list.Count];
                 *
                 * for (int i = 0; i < url_list.Count; i++)
                 * {
                 *  output1[i] = @":sout=#display";
                 * }
                 *
                 * m_factory = new IMediaPlayerFactory[url_list.Count];
                 *
                 * for (int i = 0; i < url_list.Count; i++) {
                 *  m_factory[i] = new MediaPlayerFactory(true);
                 *  m_media[i] = m_factory[i].CreateMedia<IMedia>(url_list[i].stream, output1[i]);
                 * } */

                string[] output1 = new string[url_list.Count];

                for (int i = 0; i < url_list.Count; i++)
                {
                    /*    if (i < 1)
                     *  {
                     *     // output1[i] = @":sout=#display  --rt-priority --use-stream-immediate";
                     *      // --control netsync --netsync-master
                     *      output1[i] = @":sout=#display  --rt-offset=-2000";
                     *  }
                     *  if (i > 2)
                     *  {
                     *
                     *    // output1[i] = @":sout=#display --rt-offset=-2000 --stream-filter timeshift";
                     *    //--control netsync --netsync-master-ip 192.164.1.60
                     *      output1[i] = @":sout=#display  --rt-priority --use-stream-immediate";
                     *  }
                     *  else
                     *  {
                     *      output1[i] = @":sout=#display";   // --control netsync  --netsync-master-ip 192.164.1.60
                     *  }
                     */
                }

                m_factory = new IMediaPlayerFactory[url_list.Count];

                for (int i = 0; i < url_list.Count; i++)
                {
                    m_factory[i] = new MediaPlayerFactory(true);
                    m_media[i]   = m_factory[i].CreateMedia <IMedia>(url_list[i].stream, output1[i]);
                }



                break;

            case "playback":

                //these are attempts to use video sync
                string output2 = @":sout=#display --control netsync --netsync-master-ip 192.164.1.60"; //
                string output3 = @":sout=#display --control netsync --netsync-master";                 //


                // string output2 = @":sout=#display";

                string common;
                string commonfilename;
                int    place;
                int    place2;


                // Begin building the common filename so that I can select all videos in a group.
                place2 = textBox1.Text.IndexOf(".asf");


                place = textBox1.Text.LastIndexOf('\\');

                common = textBox1.Text.Substring(0, (place));

                commonfilename = textBox1.Text.Substring((place + 1), ((place2 - 2) - place));

                string[] dirs = Directory.GetFiles(common);

                int t = 0;

                // m_factory = new IMediaPlayerFactory[4];

                /*
                 * foreach (string dir in dirs)
                 * {
                 *    if (dir.Contains(commonfilename)) //contains(commonfilename) = true;
                 *    {   // get rid of the url_list that came from copying this.  Change it to an array of strings
                 *
                 *        m_factory[t] = new MediaPlayerFactory(true);
                 *        if (t <= 2)
                 *        {
                 *            m_filemedia[t] = m_factory[t].CreateMedia<IMediaFromFile>(dir, output2);
                 *        }
                 *        else
                 *        {
                 *            m_filemedia[t] = m_factory[t].CreateMedia<IMediaFromFile>(dir, output3);
                 *        }
                 *
                 *        t++;
                 *    }
                 *
                 * } */


                foreach (string dir in dirs)
                {
                    if (dir.Contains(commonfilename)) //contains(commonfilename) = true;
                    {                                 // get rid of the url_list that came from copying this.  Change it to an array of strings
                        m_factory[t] = new MediaPlayerFactory(true);
                        if (t < 1)
                        {
                            m_filemedia[t] = m_factory[t].CreateMedia <IMediaFromFile>(dir, output2);
                        }
                        else
                        {
                            m_filemedia[t] = m_factory[t].CreateMedia <IMediaFromFile>(dir, output3);
                        }

                        t++;
                    }
                }



                /*
                 * foreach (string dir in dirs)
                 * {
                 *  if (dir.Contains(commonfilename)) //contains(commonfilename) = true;
                 *  {   // get rid of the url_list that came from copying this.  Change it to an array of strings
                 *
                 *      m_factory[t] = new MediaPlayerFactory(true);
                 *
                 *          m_filemedia[t] = m_factory[t].CreateMedia<IMediaFromFile>(dir, output2);
                 *
                 *      t++;
                 *  }
                 *
                 * } */


                break;
            }

            if ((m_action.Text == "record") | (m_action.Text == "view"))
            {
                m_player1.Open(m_media[0]);
                m_player2.Open(m_media[1]);
                m_player3.Open(m_media[2]);
                m_player4.Open(m_media[3]);



                //m_player4.Pause();

                //System.Threading.Thread.Sleep(1500);


                /*  Add code here to get rid of these lists...
                 * for (int i = 0; i < url_list.Count; i++)
                 * {
                 *
                 * }
                 */

                m_media[0].Parse(true);
                m_media[1].Parse(true);
                m_media[2].Parse(true);
                m_media[3].Parse(true);


                m_player1.Play();
                m_player2.Play();
                m_player3.Play();
                m_player4.Play();

                m_player1.Pause();

                //button2.PerformClick();

                /*  Doesn't work.  Streams will pause for a second and then continue.
                 * m_player1.Pause();
                 * m_player2.Pause();
                 * m_player3.Pause();
                 * m_player4.Pause();
                 */

                //  System.Threading.Thread.Sleep(1000);

                /*
                 * DateTime Tthen = DateTime.Now;
                 * do
                 * {
                 *  Application.DoEvents();
                 * } while (Tthen.AddSeconds(3) > DateTime.Now);
                 */


                // m_player1.Play();
            }
            else
            {
                //temporarily commenting out
                m_player5.Open(m_filemedia[0]);

                // if m_player6 not empty?
                m_player6.Open(m_filemedia[1]);
                m_player7.Open(m_filemedia[2]);
                m_player8.Open(m_filemedia[3]);

                /*  Add code here to get rid of these lists...
                 * for (int i = 0; i < url_list.Count; i++)
                 * {
                 *
                 * }
                 */

                m_filemedia[0].Parse(true);
                m_filemedia[1].Parse(true);
                m_filemedia[2].Parse(true);
                m_filemedia[3].Parse(true);

                m_player5.Play();
                m_player6.Play();
                m_player7.Play();
                m_player8.Play();
            }
        }
 public void Pause()
 {
     m_player.Pause();
 }
 private void Button_Click_2(object sender, RoutedEventArgs e)
 {
     m_player.Pause();
 }