private void MediaViewListBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (MediaViewer_MediaList.SelectedItem == null) { MediaViewer_MediaKitPlayer.Source = null; MediaViewer_MediaElementPlayer.Source = null; return; } var selectedItem = MediaViewer_MediaList.SelectedItem as TaskItem; string mediaPath = Path.Combine(AppSettings.Main.InputDir, selectedItem.InputPath); if (selectedItem.State == TaskItemState.Done) { mediaPath = Path.Combine(AppSettings.Main.OutputDir, selectedItem.OutputPath); } string mediaExt = Path.GetExtension(mediaPath); bool isImage = mediaExt == ".png" || mediaExt == ".jpg" || mediaExt == ".jpeg"; Log.Verbose("Selecting {ImageFile} in Media View", selectedItem.InputPath); if (isImage || !File.Exists("EVRPresenter64.dll") || !File.Exists("DirectShowLib-2005.dll")) { Log.Verbose("Loading using WPF Core Media Element"); MediaViewer_MediaElementPlayer.Source = new Uri(mediaPath, UriKind.Absolute); MediaViewer_MediaElementPlayer.Play(); MediaViewer_MediaElementPlayer.Visibility = Visibility.Visible; MediaViewer_MediaKitPlayer.Visibility = Visibility.Hidden; } else { Log.Verbose("Loading using WPF Toolkit"); MediaViewer_MediaKitPlayer.Source = new Uri(mediaPath, UriKind.Absolute); MediaViewer_MediaKitPlayer.Loop = true; MediaViewer_MediaElementPlayer.Visibility = Visibility.Hidden; MediaViewer_MediaKitPlayer.Visibility = Visibility.Visible; } }
private void MediaViewer_MediaElementPlayer_MediaEnded(object sender, RoutedEventArgs e) { MediaViewer_MediaElementPlayer.Position = TimeSpan.FromMilliseconds(1); MediaViewer_MediaElementPlayer.Play(); }
private void MediaViewer_MediaElementPlayer_MediaOpened(object sender, RoutedEventArgs e) { MediaViewer_MediaElementPlayer.Play(); }