Ejemplo n.º 1
0
 public override void Unload()
 {
     Reset();
     if (_player != null)
     {
         _player.Stop();
     }
     _player = null;
     _media  = null;
     VlcContext.CloseAll();
 }
Ejemplo n.º 2
0
 private void m_Template_TemplateStopped(object sender, StoppedEventArgs e)
 {
     if (vlcControl.IsPlaying)
     {
         vlcControl.Stop();
     }
 }
Ejemplo n.º 3
0
        private static void RecycleVlcControl(VlcControl oldControl, Form hostForm)
        {
            oldControl.Stop();
            oldControl.ResetMedia();
//            hostForm.Controls.Remove(oldControl);
//            oldControl.Dispose();

            var timer = new TimerX {
                Interval = 1
            };
            ElapsedEventHandler handler = (s, e) =>
            {
                hostForm.BeginInvoke(new Action(() =>
                {
                    //   CreateVlcControl(hostForm);
                    timer.Enabled = false;
                    oldControl.SetMedia(new FileInfo(source));
                    oldControl.Play();
                }));
            };


            timer.Elapsed  += handler;
            timer.AutoReset = false;
            timer.Enabled   = true;
        }
Ejemplo n.º 4
0
        private void test(object sender, RoutedEventArgs e)
        {
            control.Stop();
            stop_play.IsEnabled      = false;
            recordcheckbox.IsChecked = false;
            recordcheckbox.IsEnabled = false;

            combobox.SelectedIndex = -1;
        }
Ejemplo n.º 5
0
 private void FrmToGo1_FormClosing(object sender, FormClosingEventArgs e)
 {
     //throw new NotImplementedException();
     if (vlcControl1.IsPlaying)
     {
         vlcControl1.Stop();
         vlcControl1.Dispose();
     }
     vlcControl1.Dispose();
 }
Ejemplo n.º 6
0
        private void Play(Uri mediaUri)
        {
            //If invoked from the main thread it deadlocks sometimes.
            Task.Run(() =>
            {
                lock (_vlcControlLock)
                {
                    _streamWatchdogTimer.Stop();
                    _vlcControl.Stop();
                    if (mediaUri == null)
                    {
                        return;
                    }

                    _vlcControl.Play(mediaUri, "no-audio");
                    _streamWatchdogTimer.Start();
                }
            });
        }
Ejemplo n.º 7
0
 public override void Stop()
 {
     if (vlcCtrl != null)
     {
         if (media.State != States.Stopped && media.State != States.Ended)
         {
             vlcCtrl.Stop();
         }
         PlaybackEnded();
     }
 }
Ejemplo n.º 8
0
        public void UnloadMedia(bool forceVideoWait = false)
        {
            if (Enabled)
            {
                Console.WriteLine($"{Name} Unloading Media!");

                if (pictureBox.Image != null)
                {
                    pictureBox.Image.Dispose();
                }

                pictureBox.Image = null;

                CurrentMedia = null;

                if (vlcControl != null)
                {
                    if (forceVideoWait)
                    {
                        vlcControl.Stop();
                        vlcControl.ResetMedia();

                        while (vlcControl.GetCurrentMedia() != null)
                        {
                            //Block while waiting for media to unload.
                        }
                    }
                    else
                    {
                        ThreadPool.QueueUserWorkItem(_ =>
                        {
                            vlcControl.Stop();
                            vlcControl.ResetMedia();
                        });
                    }
                }

                //Invoke((MethodInvoker)delegate { NotifyPropertyChanged(nameof(EnableButtons)); });
                NotifyPropertyChanged(nameof(EnableButtons));
            }
        }
Ejemplo n.º 9
0
 public void Dispose()
 {
     isDisposed = true;
     if (player.IsPlaying)
     {
         player.Stop();
     }
     if (process != null)
     {
         process.StandardInput.WriteLine("q");
     }
 }
Ejemplo n.º 10
0
        private void button1_Click(object sender, EventArgs e)
        {
            Button btn = (Button)sender;
            VlcControl control = (VlcControl)btn.Tag;
            VlcMedia media = control.GetCurrentMedia();

            if (btn.Text == "Rec.")
            {
                control.Stop();
                string[] prms = new string[] { ":sout=#duplicate{dst=std{access=file,mux=mp4,dst='" + media.Title.Substring(7).Replace("/", "_").Replace(":", "-") + ".mp4'},dst=display}" };
                control.Play(new Uri(media.Mrl), prms);
                control.Refresh();
                btn.Text = "Stop";
            }
            else
            {
                control.Stop();
                string[] prms = new string[] { "" };
                control.Play(new Uri(media.Mrl), prms);
                btn.Text = "Rec.";
            }
        }
        private void Play(Uri mediaUri)
        {
            lock (_vlcControlLock)
            {
                Console.WriteLine($"{ViewModel.Index} {DateTime.Now.ToString(DateTimeFormatInfo.CurrentInfo.FullDateTimePattern)} Playing");
                _vlcControl.Stop();
                if (mediaUri == null)
                {
                    return;
                }

                _vlcControl.Play(mediaUri);
                Console.WriteLine($"{ViewModel.Index} {DateTime.Now.ToString(DateTimeFormatInfo.CurrentInfo.FullDateTimePattern)} Play done");
            }
        }
Ejemplo n.º 12
0
        private static void ReplayMedia(VlcControl oldControl, Form hostForm)
        {
            oldControl.Stop();

            var timer = new TimerX {
                Interval = 1
            };
            ElapsedEventHandler handler = (s, e) =>
            {
                hostForm.BeginInvoke(new Action(() =>
                {
                    timer.Enabled = false;
                    oldControl.VlcMediaPlayer.Position = 0;
                    oldControl.Play();
                }));
            };


            timer.Elapsed  += handler;
            timer.AutoReset = false;
            timer.Enabled   = true;
        }
Ejemplo n.º 13
0
        // Disposes the controls of this form..
        private void DoDispose()
        {
            try
            {
                using (vlcControl)     // dispose..
                {
                    vlcControl.Stop(); // do stop the playback before disposing..
                }
            }
            catch (Exception ex)
            {
                // I don't have the time to care about this..

                // log the exception..
                ExceptionLogger.LogError(ex);
            }

            try
            {
                if (m_GlobalHook != null)
                {
                    using (m_GlobalHook)                                  // dispose more..
                    {
                        m_GlobalHook.MouseMove -= M_GlobalHook_MouseMove; // release the event handlers..
                        m_GlobalHook.MouseDown -= M_GlobalHook_MouseDown;
                    }
                }
            }
            catch (Exception ex)
            {
                // log the exception..
                ExceptionLogger.LogError(ex);

                // And again: I don't have the time to care about this..more..
            }
        }
Ejemplo n.º 14
0
        /// <summary>
        /// Loads the provided image and displays it.
        /// </summary>
        /// <param name="name">The filename to load.</param>
        private void LoadImage(string name)
        {
            // Stop the current video.
            if (_vlcControl.IsPlaying)
            {
                _vlcControl.Stop();
            }

            // Unload the current image, if there is one.
            if (_pictureBox.Image != null)
            {
                _pictureBox.Image.Dispose();
            }

            // If there is no next image, stop.
            if (name == null)
            {
                _vlcControl.Stop();
                _pictureBox.Image = null;
                Text = "Sort";
                return;
            }

            var oldLocation = _currentImageLocation;

            try
            {
                _currentImageLocation = Path.Combine(_project.Directory, name);

                // If it's a video, use VLC.
                if (_videoFormats.Contains(Path.GetExtension(name).ToLower()))
                {
                    _vlcControl.SetMedia(new FileInfo(_currentImageLocation));
                    if (!_vlcControl.IsPlaying)
                    {
                        _vlcControl.Play();
                    }
                    _vlcControl.Visible = true;
                    _pictureBox.Visible = false;
                }
                // Otherwise, use the picture box.
                else
                {
                    _pictureBox.Image   = Image.FromFile(_currentImageLocation);
                    _vlcControl.Visible = false;
                    _pictureBox.Visible = true;
                }
            }
            catch (OutOfMemoryException e)
            {
                // picture box throws out of memory exception when an image isn't valid, for some reason
                // Return to the previous image.
                _currentImageLocation = oldLocation;
                MessageBox.Show(
                    this,
                    "Can't open " + name + ". This might mean it's an invalid image. Check it out.",
                    "Error",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error
                    );
                return;
            }

            Text = "Sort - " + Path.GetFileName(name);
        }
Ejemplo n.º 15
0
 public void CommandCloseApplication()
 {
     player.Stop();
     TryClose();
 }
Ejemplo n.º 16
0
 public static void StopIpCamera(VlcControl vlcControl)
 {
     vlcControl.Stop();
     vlcControl.Dispose();
 }
Ejemplo n.º 17
0
 /// <summary>
 /// Stops this instance.
 /// </summary>
 /// <returns>Task.</returns>
 public void Stop()
 {
     InvokeOnPlayerThread(() => _vlcControl.Stop());
 }
Ejemplo n.º 18
0
 /// <summary>
 /// Stop the provided Vlc control
 /// </summary>
 /// <param name="vlc">VlcControl to stop playback</param>
 public static void Disconnect(VlcControl vlc)
 {
     vlc.Stop();
 }