0

在 MFC 对话框中,有一个控件用于播放 .avi 文件等动画。问题是我想暂停并恢复播放 avi。使用播放方法可以从特定帧开始,停止为停止它。问题是如何获得 .avi 停止播放的帧号

4

2 回答 2

2

您无法获得实际的帧号,但您可以使用将 -1 指定为nFrom参数的(经过测试但未记录的)hack 作为Play()从停止位置恢复 AVI 的一种方式。

例如,假设m_avi是 a 的一个实例CAnimateCtrl

// toggle pause
if (m_avi.IsPlaying())
{
    // if playing, pause
    m_avi.Stop();
}
else
{
    // not playing, resume
    m_avi.Play( -1, -1,-1 );
}

在我的系统上进行测试(带有 UNICODE 版本的 VS2012,在 Windows 8.1 64 位上运行),这工作正常 -Play从它上次停止的位置继续精确。

于 2013-10-31T08:24:39.997 回答
0

如果您想继续播放,您只需传递 nTo=-1 即可播放到剪辑的末尾。如果您想继续播放,但只在某些特殊帧之前,您需要在视频编辑器中加载视频以获取停止播放的帧数。

于 2013-10-31T08:09:10.760 回答