equal
deleted
inserted
replaced
32 |
32 |
33 // Using a DependencyProperty as the backing store for Source. This enables animation, styling, binding, etc... |
33 // Using a DependencyProperty as the backing store for Source. This enables animation, styling, binding, etc... |
34 public static readonly DependencyProperty SourceProperty = |
34 public static readonly DependencyProperty SourceProperty = |
35 DependencyProperty.Register("MediaSource", typeof(String), typeof(VideoViewer), new PropertyMetadata("")); |
35 DependencyProperty.Register("MediaSource", typeof(String), typeof(VideoViewer), new PropertyMetadata("")); |
36 |
36 |
37 |
37 private bool _isPlayed = false; |
38 public VideoViewer() |
38 public VideoViewer() |
39 { |
39 { |
40 // Required to initialize variables |
40 // Required to initialize variables |
41 InitializeComponent(); |
41 InitializeComponent(); |
42 Commands.VideoPositionTimer.Tick += new EventHandler(VideoPositionTimer_Tick); |
42 Commands.VideoPositionTimer.Tick += new EventHandler(VideoPositionTimer_Tick); |
50 VideoScreen.Position = TimeSpan.FromMilliseconds((double)e.Parameter); |
50 VideoScreen.Position = TimeSpan.FromMilliseconds((double)e.Parameter); |
51 } |
51 } |
52 |
52 |
53 void VideoPositionTimer_Tick(object sender, EventArgs e) |
53 void VideoPositionTimer_Tick(object sender, EventArgs e) |
54 { |
54 { |
|
55 if(_isPlayed) |
55 Commands.VideoViewer.SendPosition.Execute(VideoScreen.Position); |
56 Commands.VideoViewer.SendPosition.Execute(VideoScreen.Position); |
56 } |
57 } |
57 public void ChangePosition(TimeSpan TS) |
58 public void ChangePosition(TimeSpan TS) |
58 { |
59 { |
59 VideoScreen.Position = TS; |
60 VideoScreen.Position = TS; |
60 |
61 |
61 } |
62 } |
62 void Pause_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e) |
63 void Pause_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e) |
63 { |
64 { |
64 VideoScreen.Pause(); |
65 VideoScreen.Pause(); |
|
66 _isPlayed = false; |
65 Commands.VideoPositionTimer.Stop(); |
67 Commands.VideoPositionTimer.Stop(); |
66 if (Commands.VideoPositionTimer.IsEnabled) |
68 if (Commands.VideoPositionTimer.IsEnabled) |
67 { |
69 { |
68 MessageBox.Show("Click Time IS NOT STOPPED"); |
70 MessageBox.Show("Click Time IS NOT STOPPED"); |
69 } |
71 } |
71 |
73 |
72 void Play_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e) |
74 void Play_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e) |
73 { |
75 { |
74 if (e.Parameter == DataContext || e.Parameter == null) |
76 if (e.Parameter == DataContext || e.Parameter == null) |
75 { |
77 { |
76 |
78 _isPlayed = true; |
77 VideoScreen.Play(); |
79 VideoScreen.Play(); |
78 Commands.VideoPositionTimer.Start(); |
80 Commands.VideoPositionTimer.Start(); |
79 } |
81 } |
80 } |
82 } |
81 |
83 |