public override void Unload() { Reset(); if (_player != null) { _player.Stop(); } _player = null; _media = null; VlcContext.CloseAll(); }
private void m_Template_TemplateStopped(object sender, StoppedEventArgs e) { if (vlcControl.IsPlaying) { vlcControl.Stop(); } }
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; }
private void test(object sender, RoutedEventArgs e) { control.Stop(); stop_play.IsEnabled = false; recordcheckbox.IsChecked = false; recordcheckbox.IsEnabled = false; combobox.SelectedIndex = -1; }
private void FrmToGo1_FormClosing(object sender, FormClosingEventArgs e) { //throw new NotImplementedException(); if (vlcControl1.IsPlaying) { vlcControl1.Stop(); vlcControl1.Dispose(); } vlcControl1.Dispose(); }
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(); } }); }
public override void Stop() { if (vlcCtrl != null) { if (media.State != States.Stopped && media.State != States.Ended) { vlcCtrl.Stop(); } PlaybackEnded(); } }
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)); } }
public void Dispose() { isDisposed = true; if (player.IsPlaying) { player.Stop(); } if (process != null) { process.StandardInput.WriteLine("q"); } }
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"); } }
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; }
// 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.. } }
/// <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); }
public void CommandCloseApplication() { player.Stop(); TryClose(); }
public static void StopIpCamera(VlcControl vlcControl) { vlcControl.Stop(); vlcControl.Dispose(); }
/// <summary> /// Stops this instance. /// </summary> /// <returns>Task.</returns> public void Stop() { InvokeOnPlayerThread(() => _vlcControl.Stop()); }
/// <summary> /// Stop the provided Vlc control /// </summary> /// <param name="vlc">VlcControl to stop playback</param> public static void Disconnect(VlcControl vlc) { vlc.Stop(); }