How to Play Video in Slow Motion without pause

Topics: Windows 8 Xaml
Oct 10, 2012 at 11:11 AM
Edited Oct 10, 2012 at 12:16 PM

Hello team,

I need to play video in slow motion. I have tried this way

 

MediaPlayer player = new MediaPlayer();
dctVideoStream.Add(ir.ElementAt(i).Name, videoStream);
player.DefaultPlaybackRate = 0.001;
player.Name = ir.ElementAt(i).Name;
player.SetSource(videoStream, "video/mp4");

 

It is playing by taking a short pause. It seems like video is playing in pices.

Could you please guide how to play video in slow motion without this pause ?

Also do u have any idea how to record video in slow motion in winrt using c# ?

 

Thanks in Advance.

Coordinator
Oct 10, 2012 at 4:22 PM

There are 2 ways to play in slow motion, first, you can set IsSlowMotion = true anytime *after* MediaOpened fires. For example:

async void player_MediaOpened(object sender, RoutedEventArgs e)
{
    await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
    {
        player.IsSlowMotion = true;
    });
}

The second way is to change the default playbackrate (this must be done before MediaOpened fires)

player.DefaultPlaybackRate = player.SlowMotionPlaybackRate;

Note: You can change the slow motion rate by setting SlowMotionPlaybackRate. By default, this is .25 (1 is the normal playback rate)

To record video in slow motion you need video editing software. I don't have any recommendations on which one however.

Nov 15, 2012 at 6:41 AM

Thanks tim. This was really useful as I was searching for the same to implement the slowmotion feature in one of my sports app.