1

我想要做的是以下内容:

  1. 当我对 button1 进行单击操作时,我想将我的“avi”向前移动一帧。
  2. 当我在 button2 上进行单击操作时,我想将我的“avi”向后移动一帧。

我这样解决了第一点:

private void button2_Click(object sender, EventArgs e)
        {
           ((WMPLib.IWMPControls2)axWindowsMediaPlayer1.Ctlcontrols).step(1);
        }

但我不知道如何解决第二点(向后帧),step(-1)不起作用。在这种情况下,我很乐意为您提供任何帮助。

4

2 回答 2

0

在 MSDN 上评论 step 方法。

我似乎微软无法解决这个问题;-)

于 2014-08-26T13:15:16.803 回答
0

我确实设法为仍在尝试执行此操作的任何人找到解决此问题的方法。

为了更进一步,我们可以step(1)按预期使用该命令。

要后退,我们将播放位置设置为从当前播放位置向后退约 1 帧,然后我们将前进一帧。方便的是,这实际上最终“降落”在前一帧上。

Private Sub StepForward()
    wmp.Ctlcontrols.step(1)
End Sub

Private Sub StepBackward()
    wmp.Ctlcontrols.currentPosition -= (1 / wmp.network.encodedFrameRate)
    wmp.Ctlcontrols.step(1)
End Sub

诚然,这不是一个很好的方法,但它实际上似乎对 MP4 文件非常一致。我还没有尝试过使用其他文件格式,但我相信这种方法应该仍然有效。

于 2021-05-11T22:58:32.293 回答