如何使用Media Foundation实现流畅的视频循环?

时间:2014-09-15 11:01:19

标签: ms-media-foundation

我的应用程序必须读取一个视频轨道和几个音轨,并能够指定文件的一个部分并循环播放。我创建了一个使用Media Foundation的设置,使用sequencer源并使用我想要循环的部分的起点和终点创建几个拓扑。它的工作原理是,除了回放到起始点时回放稳定的时间为0.5到1秒这一事实。 首先,我使用单独的音频文件和一个视频文件。这对于某些文件来说非常糟糕,有时所有文件都完全不同步,有时视频被冻结几秒钟,然后非常快速地捕获音频。

我只使用一个文件,包括视频和多个音轨,有了很好的改进。但是,对于大多数文件,转换的平滑性仍然存在问题。

使用质量差的视频AVI文件,我可以让它顺利运行,这意味着我使用的方法是正确的。我注意到,循环平滑度的质量与简单播放时文件中使用的CPU密切相关。

我在会话中使用“SetTopology”,使用一系列拓扑,所以通常它应该在当前播放期间预先输入下一个,对吧?或者我错过了什么?

我的应用程序也适用于Mac,我使用了与AVFoundation类似的设置,并且它与我在Windows上使用的相同媒体文件一起工作正常。 如何在Windows上使用质量更好的视频顺利进行循环工作?有什么可以做的吗?

当我在没有循环的情况下播放媒体文件时,我注意到当我将它预卷到某个点时,当我按下START按钮时,媒体立即开始并且没有任何故障。如果我使用两个独立的简单回放设置,开始第一个,预卷第二个,然后停止第一个并以编程方式在循环点开始第二个,它会更好吗?

0 个答案:

没有答案