Bladeren bron

Merge remote-tracking branch 'origin/nick' into frank

Frank van den Bos 2 jaren geleden
bovenliggende
commit
c22043baf6
1 gewijzigde bestanden met toevoegingen van 28 en 7 verwijderingen
  1. 28 7
      inabox.wpf/DigitalForms/Designer/Controls/Fields/DFVideoControl.cs

+ 28 - 7
inabox.wpf/DigitalForms/Designer/Controls/Fields/DFVideoControl.cs

@@ -14,6 +14,8 @@ namespace InABox.DynamicGrid
     {
         Button PlayButton;
         Button PauseButton;
+        MediaElement Player;
+        bool firstPlay = true;
 
         byte[]? Data;
 
@@ -24,8 +26,9 @@ namespace InABox.DynamicGrid
             grid.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto });
             grid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) });
 
-            grid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) });
             grid.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto });
+            grid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) });
+            
 
             PlayButton = new Button
             {
@@ -39,7 +42,7 @@ namespace InABox.DynamicGrid
                 Source = Wpf.Resources.play_button.AsBitmapImage(),
             };
             PlayButton.Click += PlayButton_Click;
-            PlayButton.SetGridPosition(1, 0);
+            PlayButton.SetGridPosition(0, 0);
 
             PauseButton = new Button
             {
@@ -53,24 +56,42 @@ namespace InABox.DynamicGrid
                 Source = Wpf.Resources.pause_button.AsBitmapImage()
             };
             PauseButton.Click += PauseButton_Click;
-            PauseButton.SetGridPosition(1, 0);
+            PauseButton.SetGridPosition(0, 0);
+
+            Player = new MediaElement();
+            Player.Stretch = System.Windows.Media.Stretch.Fill;
+            Player.Visibility = Visibility.Visible;
+            Player.SetGridPosition(1, 0, 1, 2);
+            
 
             grid.Children.Add(PlayButton);
             grid.Children.Add(PauseButton);
+            grid.Children.Add(Player);
 
             return grid;
         }
 
         private void PlayButton_Click(object sender, RoutedEventArgs e)
         {
-            //MediaElement.Play();
-            PlayButton.Visibility = Visibility.Hidden;
-            PauseButton.Visibility = Visibility.Visible;
+            //if(firstPlay) 
+            //{
+                var path = System.IO.Path.GetTempFileName();
+                path = path.Substring(0, path.Length - 4) + ".mp4";
+
+                System.IO.File.WriteAllBytes(path, GetValue());
+                Player.Source = new Uri(path);
+
+                firstPlay = false;
+            //}
+            //else
+            //    Player.Play();
+            //PlayButton.Visibility = Visibility.Hidden;
+            //PauseButton.Visibility = Visibility.Visible;
         }
 
         private void PauseButton_Click(object sender, RoutedEventArgs e)
         {
-            //MediaElement.Pause();
+            Player.Pause();
             PauseButton.Visibility = Visibility.Hidden;
             PlayButton.Visibility = Visibility.Visible;
         }