public void PlayAction(bool igonreMediaState = false) { if (igonreMediaState) { MediaPlayerService.Play(); PlayText = "Pause"; return; } if (MediaPlayerService.State == MovieMediaState.Playing) { MediaPlayerService.PauseOrResume(); PlayText = "Play"; } else if (MediaPlayerService.State == MovieMediaState.Ended || MediaPlayerService.State == MovieMediaState.Paused || MediaPlayerService.State == MovieMediaState.Stopped) { if (MediaPlayerService.State == MovieMediaState.Ended) { MediaPlayerService.LoadMedia(CurrentVideoItem.FilePath); } MediaPlayerService.Play(); PlayText = "Pause"; // MediaPositionTimer.Start(); } }
private void VlcMediaPlayer_MediaOpened(object sender, EventArgs e) { (IVideoElement as Window).Dispatcher.BeginInvoke(new Action(() => { //MediaPlayerService.Pause(); if (CurrentVideoItem.SubPath != null) { ConvertSubFilesToVLCSubFile(); } SetControllerDetails(); CurrentVideoItem.IsActive = true; if (CurrentVideoItem.HasLastSeen && CurrentVideoItem.LastPlayedPoisition.ProgressLastSeen > 0) { LastSeenTime = TimeSpan. FromSeconds((double.Parse(MediaPlayerService.Duration.TotalSeconds.ToString()) * CurrentVideoItem.LastPlayedPoisition.ProgressLastSeen) / 100); HaslastSeen = true; } else { HaslastSeen = false; LastSeenTime = TimeSpan.FromMilliseconds(0.0); CurrentVideoItem.LastPlayedPoisition.ProgressLastSeen = 0; } CommandManager.InvalidateRequerySuggested(); ((IVideoPlayer as SubtitleMediaController).DataContext as VideoPlayerVM).VisibilityAnimation(); DragPositionSlider.IsEnabled = true; MediaPlayerService.Play(); CommonHelper.SetPlayerTitle("Playing", CurrentVideoItem.MediaTitle); }), DispatcherPriority.Background); }