コード例 #1
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            StartPause = !StartPause;



            if (!StartPause)
            {
                SourceMediaElement.Pause();
            }
            else
            {
                SourceMediaElement.Play();
            }
        }
コード例 #2
0
        private void OpenFile_OnClick(object sender, RoutedEventArgs e)
        {
            OpenFileDialog dialog = new OpenFileDialog();

            dialog.Multiselect = false;
            dialog.Filter      = "mp4 files (*.mp4)|*.mp4|avi files (*.avi)|*.avi|all files (*.*)|*.*";

            Button_Click(this, new AccessKeyPressedEventArgs());
            var dialogResult = dialog.ShowDialog();

            if (dialogResult != null && dialogResult.Value)
            {
                // if photo file
                if (dialog.FileName.EndsWith(".jpg"))
                {
                    Bitmap bitmap = new Bitmap(dialog.FileName);

                    //SplashScreenImage.Source = new BitmapImage(new Uri(dialog.FileName, UriKind.RelativeOrAbsolute));
                }
                else
                {
                    FileName = System.IO.Path.GetFileName(dialog.FileName);
                    SourceMediaElement.Source = new Uri(dialog.FileName, UriKind.RelativeOrAbsolute);
                    //  SplashScreenImage.Visibility = Visibility.Collapsed;
                    VideoTimeTextBlock.Visibility = Visibility.Visible;
                    ResultsList.Clear();
                    SourceMediaElement.Play();
                    if (SourceMediaElement.NaturalDuration.HasTimeSpan)
                    {
                        VideoDuration = SourceMediaElement.NaturalDuration.TimeSpan.TotalSeconds;
                    }

                    _videoTimer.Start();
                    _processTimer.Start();
                }
            }
        }
コード例 #3
0
 private void VideoTimer_Tick(object sender, EventArgs e)
 {
     if (SourceMediaElement.Source != null)
     {
         if (SourceMediaElement.NaturalDuration.HasTimeSpan)
         {
             VideoDuration       = SourceMediaElement.NaturalDuration.TimeSpan.TotalSeconds;
             VideoAcutalPosition = (SourceMediaElement.Position.TotalSeconds / VideoDuration) * 100;
             // check if finish
             if (SourceMediaElement.Position == SourceMediaElement.NaturalDuration.TimeSpan)
             {
                 SourceMediaElement.Stop();
                 _videoTimer.Stop();
                 _processTimer.Stop();
             }
             else
             {
                 var position  = SourceMediaElement.Position.ToString(@"mm\:ss");
                 var wholeTime = SourceMediaElement.NaturalDuration.TimeSpan.ToString(@"mm\:ss");
                 VideoTimeTextBlock.Text = $"{position}/{wholeTime}";
             }
         }
     }
 }