C# 在特定时间启动和停止视频Windows Media Player

C# 在特定时间启动和停止视频Windows Media Player,c#,C#,我正在使用Windows Media Player对象在我的C#winforms项目中播放视频 VideoPlayer.URL = "C:\test.avi"; 我的test.avi持续时间是12秒。我想在4到8秒之间玩这个 我可以从4秒开始播放视频,如下所示 VideoPlayer.Ctlcontrols.currentPosition = 4 那么,如何在播放视频后的第8秒停止视频?您可以使用计时器来完成此操作: private Timer tmrWmpPlayerPosition;

我正在使用Windows Media Player对象在我的C#winforms项目中播放视频

 VideoPlayer.URL = "C:\test.avi";
我的test.avi持续时间是12秒。我想在4到8秒之间玩这个

我可以从4秒开始播放视频,如下所示

VideoPlayer.Ctlcontrols.currentPosition = 4

那么,如何在播放视频后的第8秒停止视频?

您可以使用计时器来完成此操作:

private Timer tmrWmpPlayerPosition;
private TimeSpan StopPosition;

private void btn_Click(object sender, EventArgs e)
{
    wmpPlayer.Ctlcontrols.currentPosition = 4;
    StopPosition=TimeSpan.Parse("00:20:20");
    StopWmpPlayerTimer();
    StartWmpPlayerTimer();
}

private void tmrWmpPlayerPosition_Tick(object sender, EventArgs e)
{
    if ((Convert.ToInt32(StopPosition.TotalSeconds) != Convert.ToInt32(wmpPlayer.Ctlcontrols.currentPosition))) return;
    wmpPlayer.Ctlcontrols.pause();
    StopWmpPlayerTimer();
}

private void StartWmpPlayerTimer()
{
    tmrWmpPlayerPosition = new Timer();
    tmrWmpPlayerPosition.Tick += new EventHandler(tmrWmpPlayerPosition_Tick);
    tmrWmpPlayerPosition.Enabled = true;
    tmrWmpPlayerPosition.Interval = 1000;
    tmrWmpPlayerPosition.Start();
}

private void StopWmpPlayerTimer()
{
    if (tmrWmpPlayerPosition != null)
        tmrWmpPlayerPosition.Dispose();
    tmrWmpPlayerPosition = null;
}

我猜会是位置改变事件-(很抱歉没有让visual studio出现在我面前)非常感谢。我测试了该事件,但该事件仅在3秒时触发一次。如果每秒钟触发一次事件,我就可以控制停止时间。Kerberos,我对wmp sdk不太了解,但您可以始终拥有一个间隔为4秒的计时器,并使用该事件stop@Sayse谢谢你的建议。如果我发现使用WMP的本机事件会更好。