All I did was change the timer interval by increasing the TimeSpan value and I also changed the TimeSpan for the media element. Code now looks this:
if(flagRewind == true)
{
//change the timer interval
timer.Interval = TimeSpan.FromMilliseconds(50.0);
try
{
if (playVideoMediaElement.NaturalDuration.HasTimeSpan)
{
//step the video back every second
playVideoMediaElement.Position -= TimeSpan.FromMilliseconds(50.0);
videoSlider.Value = playVideoMediaElement.Position.TotalSeconds;
if (videoSlider.Value <= 0)
{
//the video is done playing
playVideoMediaElement.Stop();
tag = playPauseVideoButton.Tag.ToString();
ChangePlayPauseButtonImageIcon();
IsPlaying(false);
playPauseVideoButton.IsEnabled = true;
flagRewind = false;
}
}
And this works perfectly fine for me and when the user presses the forward || play button I just default the timer interval and media element position values.