예제 #1
0
        private async Task PlayVideoAsync(WmpPlayerWindow playerWindow, string fileName)
        {
            playerWindow.Show();
            playerWindow.Activate();
            await playerWindow.Player.OpenFileAsync(fileName);

            playerWindow.Player.MediaOpened += (s2, e2) => {
                if (encodeSettings.Position.HasValue)
                {
                    playerWindow.Player.Position = encodeSettings.Position.Value;
                }
                playerWindow.Player.Player.Pause();
            };

            //await Task.FromResult(0);
        }
예제 #2
0
        private async void Window_Loaded(object sender, RoutedEventArgs e)
        {
            this.DataContext = encodeSettings;
            SettingsTab.Items.CurrentChanging += new CurrentChangingEventHandler(Items_CurrentChanging);
            ((FFmpegUserInterfaceManager)FFmpegConfig.UserInterfaceManager).JobClosed += UserInterfaceManager_JobClosed;
            if (MediaPlayer.WindowsMediaPlayer.IsWmpInstalled)
            {
                playerOriginal             = new WmpPlayerWindow();
                playerOriginal.Title       = "Original";
                playerOriginal.WindowState = WindowState.Maximized;
                playerChanges             = new WmpPlayerWindow();
                playerChanges.Title       = "Preview Changes";
                playerChanges.WindowState = WindowState.Maximized;
                playerChanges.Player.Player.PositionChanged += Player_PositionChanged;
            }
            else
            {
                PreviewOriginalButton.Visibility = Visibility.Hidden;
                PreviewChangesButton.Visibility  = Visibility.Hidden;
            }
            //if (Settings.SavedFile.MediaPlayerApp != MediaPlayerApplication.Mpc)
            //    PreviewMpcButton.Visibility = Visibility.Hidden;
            business.EncodingCompleted     += business_EncodingCompleted;
            business.EncodingFailed        += business_EncodingFailed;
            ProcessingQueueList.ItemsSource = business.ProcessingQueue;
            //MpcConfigBusiness.IsSvpEnabled = false;

            MediaEncoderSettings RecoverSettings = await business.AutoLoadPreviewFileAsync();

            if (RecoverSettings != null)
            {
                SetEncodeSettings(RecoverSettings);
            }

            encodeSettings.AutoCalculateSize = true;

            business.AutoLoadJobs();
            if (business.ProcessingQueue.Count == 0)
            {
                PauseButton_Click(null, null);
            }

            // Run GPU test on startup.
            await business.RunGpuTest();
        }
예제 #3
0
        public static WmpPlayerWindow Instance()
        {
            WmpPlayerWindow NewForm = new WmpPlayerWindow();

            return(NewForm);
        }