【问题标题】:Media player fast forward媒体播放器快进
【发布时间】:2012-08-30 08:40:34
【问题描述】:

我花了很多时间搜索所有不同的关键词。我正在开发一个媒体播放器,并且有一个菜单条,可以选择快进和快退。这是我目前拥有的:

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# 中单击菜单项时快进(和倒退)视频?

【问题讨论】:

    标签: c# wpf media-player media playback


    【解决方案1】:

    这是my answerthis related question 的扩展。

    根据那里的 OP(请参阅我的回答中的 cmets),如果您正在播放 MP4 文件,这将起作用,但如果您尝试播放 AVI,它将无法正常工作,因为它们没有被索引。相反,他建议您增加 currentPosition 属性 (MSDN documentation) 以实现此效果。

    总结一下,在某种循环中尝试controls.currentPosition += someIncrement,而不是controls.fastForward()(也许这个问题可能会帮助您实现这一目标:C# how to loop while mouse button is held down

    【讨论】:

    • 我试图在一个选中的复选框为真的情况下绑定一个循环,导致它直接跳到最后,然后严重崩溃。我还是个新手,所以我边走边收拾东西。这是我使用的:'while (increaseRateToolStripMenuItem.Checked == true) { controls.currentPosition += 1; }' 我觉得好像 +=1 是完全错误的。
    • @ZacDibble +=1 只是将位置增加一秒 - 如果它能让您感觉更好,可以使用 controls.currentPosition++;!一旦到达视频结尾,它可能会抛出异常(并且您尝试将位置设置为不存在的时间) - 可能需要对此进行检查。你把这段代码放在哪里了?
    • 我目前正在查看的代码是这样的:'while (increaseRateToolStripMenuItem.Checked == true) { controls.currentPosition += 1.0; if (increaseRateToolStripMenuItem.Checked == false) { break; } }' 我还在换进换出。
    • @ZacDibble 但是你把代码放在哪里了?如果您的代码在 UI 线程上执行,您的应用程序可能会变得无响应,并且您将无法取消选中复选框 - 它会一直运行,直到您超出视频的长度,并且您会得到异常 I提及。尝试我上一个链接中的一种方法,以获得一种循环方式,同时不阻塞您的 UI 线程!
    • 抱歉,我花了这么长时间才回复,我一直忙得不可开交。但我最终得出了一个坚定的决心。如果您有兴趣,我会将代码放在我的原始帖子中,或者以防其他人需要与我相同的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多