Search code examples
winformsaxwindowsmediaplayer

AxWindowsMediaPlayer skip back and forth frame by frame


I have a WMV file playing in an AxWindowsMediaPlayer object. I have two buttons that are enabled when the video is paused. One should skip backwards one frame, and the other should skip forwards one frame.

The problem is, if I just add 1/24ths of a second (the length of a typical frame) to Ctlcontrols.currentPosition while the video is paused, the control doesn't update.

So I tried playing it and pausing it directly after, but that makes it play for about a second before pausing it.

How should I go about doing this? Is it even possible with AxWindowsMediaPlayer? If not, what other video player could I use?

EDIT

Oh, another idea... is there a way to make the screen update while paused after setting currentPosition?


Solution

  • The API to use is IWMPControls2' step function.

    Eg: ((IWMPControls2)axWindowsMediaPlayer1.Ctlcontrols).step(1);