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

标签 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;
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;
}

关于c# - 在特定时间启动和停止视频 Windows Media Player,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16634318/

相关文章:

c# - 将 C# 控制台应用程序转换为服务(Main 方法不起作用)

c# - 后台线程的运行优先级是否低于前台线程?

c# - 共享点。如何获取列表项的 "New"标志?

c# - ASP.NET 插入问题

c# - 如何在不影响其他项目的情况下重构C#中的命名空间?

c# - 忽略序列化为 JSON 时抛出异常的类成员

C# 教程 - 将 DataGridView 绑定(bind)到包含对象的集合

c# - 如何安全地重定向到引用页面?

c# - WriteableBitmapEx 不适用于 C# metro 应用程序

c# - 比较两个平面文件内容的最佳方法