client/src/Iri.Modernisation.Controls/View/VideoViewer/VideoViewer.xaml.cs
changeset 25 a9c815025a1b
parent 24 c031f1132dde
child 26 44a2dc869e28
equal deleted inserted replaced
24:c031f1132dde 25:a9c815025a1b
    39         private bool _isPlayed  = false;
    39         private bool _isPlayed  = false;
    40 		public VideoViewer()
    40 		public VideoViewer()
    41 		{
    41 		{
    42 			// Required to initialize variables
    42 			// Required to initialize variables
    43 			InitializeComponent();   /// <summary>
    43 			InitializeComponent();   /// <summary>
       
    44             VideoScreen.MediaEnded += new RoutedEventHandler(VideoScreen_MediaEnded);
       
    45             VideoScreen.MediaOpened += new RoutedEventHandler(VideoScreen_MediaOpened);
    44             VideoPositionTimer.Interval = new System.TimeSpan(0, 0, 0, 0, 1000); 
    46             VideoPositionTimer.Interval = new System.TimeSpan(0, 0, 0, 0, 1000); 
    45             VideoPositionTimer.Tick += new EventHandler(VideoPositionTimer_Tick);
    47             VideoPositionTimer.Tick += new EventHandler(VideoPositionTimer_Tick);
    46             Commands.GoToTime.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(GoToTime_Executed);
    48             Commands.GoToTime.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(GoToTime_Executed);
    47             Commands.VideoViewer.Pause.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(Pause_Executed);
    49             Commands.VideoViewer.Pause.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(Pause_Executed);
    48             Commands.VideoViewer.Play.Executed +=new EventHandler<SLExtensions.Input.ExecutedEventArgs>(Play_Executed);
    50             Commands.VideoViewer.Play.Executed +=new EventHandler<SLExtensions.Input.ExecutedEventArgs>(Play_Executed);
    49 		}
    51 		}
    50 
    52 
    51         void GoToTime_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
    53         void VideoScreen_MediaOpened(object sender, RoutedEventArgs e)
       
    54         {
       
    55             VideoScreen.Play();
       
    56             VideoPositionTimer.Start();
       
    57             
       
    58         }
       
    59 
       
    60         void VideoScreen_MediaEnded(object sender, RoutedEventArgs e)
       
    61         {
       
    62             VideoPositionTimer.Stop();
       
    63         }
       
    64 
       
    65         private void GoToTime_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
    52         {
    66         {
    53             if (e.Source == DataContext && e.Source != null)
    67             if (e.Source == DataContext && e.Source != null)
    54             {
    68             {
    55                 VideoScreen.Pause();
    69                 
       
    70                 VideoPositionTimer.Start();
       
    71                
    56                VideoScreen.Position = new TimeSpan(((TimeSpan)e.Parameter).Ticks);
    72                VideoScreen.Position = new TimeSpan(((TimeSpan)e.Parameter).Ticks);
       
    73                
    57               
    74               
    58             }
    75             }
    59         }
    76         }
    60 
    77 
    61         void VideoPositionTimer_Tick(object sender, EventArgs e)
    78         void VideoPositionTimer_Tick(object sender, EventArgs e)
    75             VideoScreen.Position = TS;
    92             VideoScreen.Position = TS;
    76             
    93             
    77         }
    94         }
    78         void Pause_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
    95         void Pause_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
    79         {
    96         {
    80             VideoScreen.Pause();
    97             if(e.Source == DataContext || e.Parameter == DataContext)
    81             _isPlayed = false;
       
    82             VideoPositionTimer.Stop();
       
    83             if (VideoPositionTimer.IsEnabled)
       
    84             {
    98             {
    85                 MessageBox.Show("Click Time IS NOT STOPPED");
    99                 VideoScreen.Pause();
       
   100                 _isPlayed = false;
       
   101                 VideoPositionTimer.Stop();
       
   102                 if (VideoPositionTimer.IsEnabled)
       
   103                 {
       
   104                     MessageBox.Show("Click Time IS NOT STOPPED");
       
   105                 }
    86             }
   106             }
    87         }
   107         }
    88 
   108 
    89         void Play_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
   109         void Play_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
    90         {
   110         {
    99 		private void VideoScreen_MediaFailed(object sender, System.Windows.ExceptionRoutedEventArgs e)
   119 		private void VideoScreen_MediaFailed(object sender, System.Windows.ExceptionRoutedEventArgs e)
   100 		{
   120 		{
   101 			MessageBox.Show(e.ErrorException.ToString());
   121 			MessageBox.Show(e.ErrorException.ToString());
   102 		}
   122 		}
   103 
   123 
   104 		private void VideoScreen_CurrentStateChanged(object sender, System.Windows.RoutedEventArgs e)
   124 		
   105 		{
       
   106             
       
   107 		}
       
   108 
   125 
   109 		private void VideoScreen_MarkerReached(object sender, System.Windows.Media.TimelineMarkerRoutedEventArgs e)
   126 		private void VideoScreen_MarkerReached(object sender, System.Windows.Media.TimelineMarkerRoutedEventArgs e)
   110 		{
   127 		{
   111             MessageBox.Show("toto");
   128             MessageBox.Show("toto");
   112 		}
   129 		}