void vlcCtrl_PositionChanged(VlcControl sender, VlcEventArgs<float> e) { playPosition = e.Data; }
private async void M_MediaSubItemAdded(MediaBase sender, VlcEventArgs <MediaBase> e) { _subCounter++; await Send("navigatable", _subCounter > 2); SetHandlersForMedia(e.Data); }
private void m_MetaChanged(MediaBase sender, VlcEventArgs <Metadatas> e) { Dispatcher.BeginInvoke(new Action(async() => { try { var title = _vlc.Media?.Metadatas?.Title; if (string.IsNullOrEmpty(title)) { return; } var txt = Encoding.UTF8.GetString(Encoding.Default.GetBytes(title)); if (Uri.IsWellFormedUriString(txt, UriKind.Absolute)) { return; } if (txt?.Length < 320) { await Send("nowplaying", txt); } } catch { //Collection was modified; enumeration operation may not execute. } }), DispatcherPriority.Background); }
private void media_StateChanged(MediaBase sender, VlcEventArgs <Vlc.DotNet.Core.Interops.Signatures.LibVlc.Media.States> e) { if (e.Data == Vlc.DotNet.Core.Interops.Signatures.LibVlc.Media.States.Stopped) { this.btn_play.Content = "\uf04b"; } else if (e.Data == Vlc.DotNet.Core.Interops.Signatures.LibVlc.Media.States.Paused) { if (this.MediaState == MTC_Player.MediaState.Playing) { if (sender.Duration.TotalSeconds - this.durationMedia.TotalSeconds < 1) { myVlcControl.Position = 0f; myVlcControl.Play(); } else { this.btn_play.Content = "\uf04b"; myVlcControl.Stop(); } } } else if (e.Data == Vlc.DotNet.Core.Interops.Signatures.LibVlc.Media.States.Playing) { this.btn_play.Content = "\uf04c"; } }
private void MediaOnParsedChanged(Vlc.DotNet.Core.Medias.MediaBase sender, VlcEventArgs <int> e) { alta_txt_curTime.Text = string.Format( "{0:00}:{1:00}:{2:00}", myVlcControl.Media.Duration.Hours, myVlcControl.Media.Duration.Minutes, myVlcControl.Media.Duration.Seconds); }
private void VlcControlOnTimeChanged(VlcControl sender, VlcEventArgs <TimeSpan> e) { if (myVlcControl.Media == null) { return; } alta_txt_curTime.Text = e.Data.Format(); }
private void VlcControlOnPositionChanged(VlcControl sender, VlcEventArgs <float> e) { if (myPositionChanging) { return; } barTimeSeek.Value = (int)(e.Data * 100); }
/// <summary> /// Called by the <see cref="VlcControl"/> when the media position changed during playback. /// </summary> /// <param name="sender">Event sennding control. </param> /// <param name="e">VLC event arguments. </param> private void VlcControlOnPositionChanged(VlcControl sender, VlcEventArgs <float> e) { if (myPositionChanging) { // User is currently changing the position using the slider, so do not update. return; } sliderPosition.Value = e.Data; }
/// <summary> /// Called by <see cref="VlcControl.Media"/> when the media information was parsed. /// </summary> /// <param name="sender">Event sending media. </param> /// <param name="e">VLC event arguments. </param> private void MediaOnParsedChanged(MediaBase sender, VlcEventArgs <int> e) { textBlock.Text = string.Format( "Duration: {0:00}:{1:00}:{2:00}", myVlcControl.Media.Duration.Hours, myVlcControl.Media.Duration.Minutes, myVlcControl.Media.Duration.Seconds); sliderVolume.Value = myVlcControl.AudioProperties.Volume; checkboxMute.IsChecked = myVlcControl.AudioProperties.IsMute; }
private void VlcControlOnTimeChanged(VlcControl sender, VlcEventArgs <TimeSpan> e) { var duration = myVlcControl.Media.Duration; textBlock.Text = string.Format( "{0:00}:{1:00}:{2:00} / {3:00}:{4:00}:{5:00}", e.Data.Hours, e.Data.Minutes, e.Data.Seconds, duration.Hours, duration.Minutes, duration.Seconds); }
private void VlcControlOnTimeChanged(Vlc.DotNet.Wpf.VlcControl sender, VlcEventArgs <TimeSpan> e) { if (myVlcControl.Media == null) { return; } durationMedia = e.Data; alta_txt_curTime.Text = string.Format( "{0:00}:{1:00}:{2:00}", e.Data.Hours, e.Data.Minutes, e.Data.Seconds); }
/// <summary> /// Called by the <see cref="VlcControl"/> when the media position changed during playback. /// </summary> /// <param name="sender">Event sennding control. </param> /// <param name="e">VLC event arguments. </param> private void VlcControlOnPositionChanged(VlcControl sender, VlcEventArgs <float> e) { if (positionChanging) { // User is currently changing the position using the slider, so do not update. return; } Action action = () => { sliderPosition.Value = e.Data; }; this.Dispatcher.Invoke(action); }
private void PlayerOnEndReached(VlcControl sender, VlcEventArgs <EventArgs> vlcEventArgs) { if (Duration <= TimeSpan.Zero) { return; } if (_loop) { Play(null); } else { Stop(null); } }
void media_StateChanged(MediaBase sender, VlcEventArgs <Vlc.DotNet.Core.Interops.Signatures.LibVlc.Media.States> e) { switch (e.Data) { case Vlc.DotNet.Core.Interops.Signatures.LibVlc.Media.States.Buffering: LoadingVisual.Visibility = Visibility.Visible; break; case Vlc.DotNet.Core.Interops.Signatures.LibVlc.Media.States.Playing: LoadingVisual.Visibility = Visibility.Collapsed; break; case Vlc.DotNet.Core.Interops.Signatures.LibVlc.Media.States.NothingSpecial: break; } }
void _vlcControl_Stopped(VlcControl sender, VlcEventArgs <EventArgs> e) { var playlist = _playlist.ToList(); var index = CurrentPlaylistIndex; var ticks = CurrentPositionTicks; DisposePlayer(); var media = index != -1 && playlist.Count > 0 ? playlist[index] : null; var args = new PlaybackStopEventArgs { Playlist = playlist, Player = this, EndingPlaylistIndex = index, EndingPositionTicks = ticks, EndingMedia = media }; EventHelper.QueueEventIfNotNull(PlaybackCompleted, this, args, _logger); _playbackManager.ReportPlaybackCompleted(args); }
void vlcCtrl_EncounteredError(VlcControl sender, VlcEventArgs <EventArgs> e) { string error = VlcContext.ErrorHandling.GetErrorMessage(); GUIWindowManager.SendThreadCallbackAndWait((p1, p2, o) => { Log.Instance.Warn("VLCPlayer Error: '{0}'", error); if (!bufferingDone && Initializing) { GUIWaitCursor.Hide(); // hide the wait cursor if still showing } MediaPortal.Dialogs.GUIDialogOK dlg_error = (MediaPortal.Dialogs.GUIDialogOK)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_OK); if (dlg_error != null) { dlg_error.Reset(); dlg_error.SetHeading(PluginConfiguration.Instance.BasicHomeScreenName); dlg_error.SetLine(1, Translation.Instance.Error); dlg_error.SetLine(2, error); dlg_error.DoModal(GUIWindowManager.ActiveWindow); } PlaybackEnded(); return(0); }, 0, 0, null); }
/// <summary> /// Called by the <see cref="VlcControl"/> when the media position changed during playback. /// </summary> /// <param name="sender">Event sennding control. </param> /// <param name="e">VLC event arguments. </param> private void VlcControlOnPositionChanged(VlcControl sender, VlcEventArgs<float> e) { if (positionChanging) { // User is currently changing the position using the slider, so do not update. return; } Action action = () => { sliderPosition.Value = e.Data; }; this.Dispatcher.Invoke(action); }
private void PlayerOnPositionChanged(VlcControl sender, VlcEventArgs <float> vlcEventArgs) { _media.Source = _player.VideoSource; Position = _player.Time; }
private void MediaOnParsedChanged(Vlc.DotNet.Core.Medias.MediaBase sender, VlcEventArgs<int> e) { alta_txt_curTime.Text = string.Format( "{0:00}:{1:00}:{2:00}", myVlcControl.Media.Duration.Hours, myVlcControl.Media.Duration.Minutes, myVlcControl.Media.Duration.Seconds); }
void myVlcControl_Paused(Vlc.DotNet.Wpf.VlcControl sender, VlcEventArgs<EventArgs> e) { }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void VlcControlOnPositionChanged(Vlc.DotNet.Wpf.VlcControl sender, VlcEventArgs<float> e) { if (myPositionChanging) { return; } barTimeSeek.Value = (int)(e.Data * 100); }
private void media_StateChanged(MediaBase sender, VlcEventArgs<Vlc.DotNet.Core.Interops.Signatures.LibVlc.Media.States> e) { if (e.Data == Vlc.DotNet.Core.Interops.Signatures.LibVlc.Media.States.Stopped) { this.btn_play.Content = "\uf04b"; } else if (e.Data == Vlc.DotNet.Core.Interops.Signatures.LibVlc.Media.States.Paused) { if (this.MediaState == MTC_Player.MediaState.Playing) { if (sender.Duration.TotalSeconds - this.durationMedia.TotalSeconds < 1) { myVlcControl.Position = 0f; myVlcControl.Play(); } else { this.btn_play.Content = "\uf04b"; myVlcControl.Stop(); } } } else if (e.Data == Vlc.DotNet.Core.Interops.Signatures.LibVlc.Media.States.Playing) { this.btn_play.Content = "\uf04c"; } }
void vlcBox_EndReached(object sender, VlcEventArgs<EventArgs> e) { setTimeout(delegate { Next(); }, 2); }
void _vlcControl_Paused(VlcControl sender, VlcEventArgs<EventArgs> e) { OnPlayStateChanged(); _isPaused = true; }
private void myVlcControl_Paused(VlcControl sender, VlcEventArgs<EventArgs> e) { }
private void VlcControlOnTimeChanged(VlcControl sender, VlcEventArgs<TimeSpan> e) { if (myVlcControl.Media == null) { return; } alta_txt_curTime.Text = e.Data.Format(); }
private void MediaOnParsedChanged(MediaBase sender, VlcEventArgs<int> e) { alta_txt_curTime.Text = myVlcControl.Media.Duration.Format(); }
public static void RaiseEvent <TSender, THandler>(VlcEventHandler <TSender, THandler> handler, TSender sender, VlcEventArgs <THandler> arg) { if (handler == null) { return; } foreach (VlcEventHandler <TSender, THandler> singleInvoke in handler.GetInvocationList()) { var syncInvoke = singleInvoke.Target as ISynchronizeInvoke; if (syncInvoke == null) { singleInvoke.DynamicInvoke(new object[] { sender, arg }); continue; } //if (syncInvoke is Control && ((Control)syncInvoke).IsDisposed) // continue; try { if (syncInvoke.InvokeRequired) { syncInvoke.Invoke(singleInvoke, new object[] { sender, arg }); } else { singleInvoke(sender, arg); } } catch (ObjectDisposedException) { //Because IsDisposed was true and IsDisposed could be false now... continue; } } }
void myVlcControl_Paused(Vlc.DotNet.Wpf.VlcControl sender, VlcEventArgs <EventArgs> e) { }
void myVlcControl_Playing(Vlc.DotNet.Wpf.VlcControl sender, VlcEventArgs <EventArgs> e) { topImage.Animation_Opacity_View_Frame(false); HideControl(); }
void _vlcControl_Paused(VlcControl sender, VlcEventArgs <EventArgs> e) { OnPlayStateChanged(); _isPaused = true; }
private void myVlcControl_Stopped(VlcControl sender, VlcEventArgs <EventArgs> e) { topImage.Animation_Opacity_View_Frame(true); }
private void myVlcControl_Playing(VlcControl sender, VlcEventArgs<EventArgs> e) { UIBtnPlay.Text = Define.Fonts["fa-pause"].Code; }
void media_ParsedChanged(MediaBase sender, VlcEventArgs<int> e) { this.durationMedia = TimeSpan.Zero; }
private void myVlcControl_Playing(VlcControl sender, VlcEventArgs <EventArgs> e) { UIBtnPlay.Text = Define.Fonts["fa-pause"].Code; }
private void myVlcControl_Stopped(VlcControl sender, VlcEventArgs<EventArgs> e) { topImage.Animation_Opacity_View_Frame(true); }
private void myVlcControl_Paused(VlcControl sender, VlcEventArgs <EventArgs> e) { }
void myVlcControl_Playing(Vlc.DotNet.Wpf.VlcControl sender, VlcEventArgs<EventArgs> e) { topImage.Animation_Opacity_View_Frame(false); HideControl(); }
void vlcCtrl_PositionChanged(VlcControl sender, VlcEventArgs <float> e) { playPosition = e.Data; }
private void VlcControlOnTimeChanged(Vlc.DotNet.Wpf.VlcControl sender, VlcEventArgs<TimeSpan> e) { if (myVlcControl.Media == null) { return; } durationMedia = e.Data; alta_txt_curTime.Text = string.Format( "{0:00}:{1:00}:{2:00}", e.Data.Hours, e.Data.Minutes, e.Data.Seconds); }
void Media_DurationChanged(MediaBase sender, VlcEventArgs <long> e) { timelineSlider.Maximum = MyVlcControl.Media.Duration.TotalSeconds; }
private void PlayerOnLengthChanged(VlcControl sender, VlcEventArgs <long> vlcEventArgs) { Duration = _player.Duration; }
private void VlcControlOnPositionChanged(VlcControl sender, VlcEventArgs<float> e) { if (myPositionChanging) { return; } sliderPosition.Value = e.Data; }
private void PlayerOnEndReached(VlcControl sender, VlcEventArgs<EventArgs> vlcEventArgs) { if (Duration <= TimeSpan.Zero) return; if (_loop) Play(null); else Stop(null); }
private void _VLCcontrol_OnEndReached(VlcControl sender, VlcEventArgs<EventArgs> e) { this._eventAggregator.GetEvent<VideoEnded>().Publish(null); }
private void VlcControlOnTimeChanged(VlcControl sender, VlcEventArgs<TimeSpan> e) { var duration = myVlcControl.Media.Duration; Action action = () => { textBlock.Text = string.Format( "{0:00}:{1:00}:{2:00} / {3:00}:{4:00}:{5:00}", e.Data.Hours, e.Data.Minutes, e.Data.Seconds, duration.Hours, duration.Minutes, duration.Seconds); }; this.Dispatcher.Invoke(action); }
private void _VLCcontrol_OnLengthChanged(VlcControl sender, VlcEventArgs<long> e) { this._eventAggregator.GetEvent<VideoDurationChanged>().Publish(this._VLCcontrol.Duration); }
void _vlcControl_Stopped(VlcControl sender, VlcEventArgs<EventArgs> e) { var playlist = _playlist.ToList(); var index = CurrentPlaylistIndex; var ticks = CurrentPositionTicks; DisposePlayer(); var media = index != -1 && playlist.Count > 0 ? playlist[index] : null; var args = new PlaybackStopEventArgs { Playlist = playlist, Player = this, EndingPlaylistIndex = index, EndingPositionTicks = ticks, EndingMedia = media }; EventHelper.QueueEventIfNotNull(PlaybackCompleted, this, args, _logger); _playbackManager.ReportPlaybackCompleted(args); }
void media_ParsedChanged(MediaBase sender, VlcEventArgs <int> e) { this.durationMedia = TimeSpan.Zero; }
private void VlcControlOnTimeChanged(VlcControl sender, VlcEventArgs<TimeSpan> e) { if (myVlcControl.Media == null) return; var duration = myVlcControl.Media.Duration; textBlock.Text = string.Format( "{0:00}:{1:00}:{2:00} / {3:00}:{4:00}:{5:00}", e.Data.Hours, e.Data.Minutes, e.Data.Seconds, duration.Hours, duration.Minutes, duration.Seconds); }
/// <summary> /// Called by the <see cref="VlcControl"/> when the media position changed during playback. /// </summary> /// <param name="sender">Event sennding control. </param> /// <param name="e">VLC event arguments. </param> private void VlcControlOnPositionChanged(VlcControl sender, VlcEventArgs<float> e) { if (myPositionChanging) { // User is currently changing the position using the slider, so do not update. return; } sliderPosition.Value = e.Data; }
private void MediaOnParsedChanged(MediaBase sender, VlcEventArgs <int> e) { alta_txt_curTime.Text = myVlcControl.Media.Duration.Format(); }
internal static void RaiseEvent <THandler>(VlcEventHandler <THandler> handler, object sender, VlcEventArgs <THandler> arg) { if (handler == null) { return; } foreach (VlcEventHandler <THandler> singleInvoke in handler.GetInvocationList()) { var syncInvoke = singleInvoke.Target as ISynchronizeInvoke; if (syncInvoke == null) { continue; } if (syncInvoke is Control && ((Control)syncInvoke).IsDisposed) { continue; } try { if (syncInvoke.InvokeRequired) { syncInvoke.Invoke(singleInvoke, new[] { sender, arg }); } else { singleInvoke(sender, arg); } } catch (ObjectDisposedException) { //Because IsDisposed was true and IsDisposed is now false... continue; } } }
/// <summary> /// Called by <see cref="VlcControl.MOVIES"/> when the media information was parsed. /// </summary> /// <param name="sender">Event sending media. </param> /// <param name="e">VLC event arguments. </param> private void MediaOnParsedChanged(MediaBase sender, VlcEventArgs<int> e) { textBlock.Text = string.Format( "Duration: {0:00}:{1:00}:{2:00}", myVlcControl.Media.Duration.Hours, myVlcControl.Media.Duration.Minutes, myVlcControl.Media.Duration.Seconds); sliderVolume.Value = myVlcControl.AudioProperties.Volume; checkboxMute.IsChecked = myVlcControl.AudioProperties.IsMute; }
private void _VLCcontrol_OnSnapshotTaken(VlcControl sender, VlcEventArgs<string> e) { try { String imgPath = this._viewModel.TemporaryImagePath; if (File.Exists(imgPath)) { Image img = new Bitmap(imgPath); this._viewModel.CurrentVideo.PreviewImage = img; img.Dispose(); File.Delete(imgPath); } } catch (Exception ex) { this.Logger().ErrorFormat(ex.Message); } }
private void _VLCcontrol_OnPositionChanged(VlcControl sender, VlcEventArgs<float> e) { this._viewModel.Position = this._VLCcontrol.Position; }
private void _VLCcontrol_OnLengthChanged(VlcControl sender, VlcEventArgs<long> e) { if (this._viewModel.Duration == TimeSpan.Zero) { TimeSpan duration = this._VLCcontrol.Duration; this._viewModel.Duration = duration; } }
private void _VLCcontrol_OnEndReached(VlcControl sender, VlcEventArgs<EventArgs> e) { this._viewModel.Next(); }
void vlcCtrl_EncounteredError(VlcControl sender, VlcEventArgs<EventArgs> e) { string error = VlcContext.ErrorHandling.GetErrorMessage(); GUIWindowManager.SendThreadCallbackAndWait((p1, p2, o) => { Log.Instance.Warn("VLCPlayer Error: '{0}'", error); if (!bufferingDone && Initializing) GUIWaitCursor.Hide(); // hide the wait cursor if still showing MediaPortal.Dialogs.GUIDialogOK dlg_error = (MediaPortal.Dialogs.GUIDialogOK)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_OK); if (dlg_error != null) { dlg_error.Reset(); dlg_error.SetHeading(PluginConfiguration.Instance.BasicHomeScreenName); dlg_error.SetLine(1, Translation.Instance.Error); dlg_error.SetLine(2, error); dlg_error.DoModal(GUIWindowManager.ActiveWindow); } PlaybackEnded(); return 0; }, 0, 0, null); }