我花了很多时间搜索,并使用所有不同的关键短语。我正在使用媒体播放器,并有一个菜单条,可以选择快进和快退。这是我目前的情况:
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#中点击菜单项时,如何快进(和反转)视频?
答案 0 :(得分:1)
这是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)