我花了很多时间搜索,并使用所有不同的关键短语。我正在使用媒体播放器,并有一个菜单条,可以选择快进和快退。这是我目前的情况:
private void increaseRateToolStripMenuItem_Click(object sender, System.EventArgs e)
{
if (axWindowsMediaPlayer1.playState == WMPLib.WMPPlayState.wmppsPlaying)
{
WMPLib.IWMPControls3 controls = (WMPLib.IWMPControls3)axWindowsMediaPlayer1.Ctlcontrols;
if (controls.get_isAvailable("fastForward"))
{
controls.fastForward();
}
}
}
这本质上就是我一直在寻找的圈子。我从这里开始,修补,然后回到这里。这让我发疯了。理论上听起来很简单,但我什么都没得到。
我上面使用的例子是MSDN示例:http://msdn.microsoft.com/en-us/library/windows/desktop/dd564741(v=vs.85).aspx
所以我在这里问,当在C#中单击菜单项时,如何快进(和反转)视频?
这是my answer对this related question的延伸。
根据那里的OP(请参阅我的回答评论),如果您正在播放MP4文件,这将有效,但如果您正在尝试播放AVI,则它将无法正常工作,因为它们未被编入索引。他建议你增加currentPosition
属性(MSDN documentation)以达到这个效果。
总结一下,而不是controls.fastForward()
,在某种循环中尝试controls.currentPosition += someIncrement
(也许这个问题可能会帮助你实现这个目标:C# how to loop while mouse button is held down)