4

我需要在我的应用程序中同时循环播放两个视频(每个视频长度为 15 秒)。有时我需要更改一个视频的不透明度(在 DoubleAnimation 中),让它出现在另一个视频的上方。播放两个视频需要用于同步目的。

我尝试使用 MediaElements 播放视频,但我无法让它们同时播放视频。我认为这是不可能的。我对吗?

我还尝试将我的视频分成 450 帧(每秒 30 帧)并使用 ObjectAnimationUsingKeyFrames,(例如:http ://compiledexperience.com/windows-phone/tutorials/candle ),但这种方式使用了太多内存(已用内存大约 250 MB,但最大使用量必须为 90 MB)。

最后我尝试使用 DispatcherTimer 并在它的 Tick 程序中更改两个图像的源属性,但它的工作速度很慢。

请帮助我,有没有什么方法可以做到这一点没有滞后?

4

1 回答 1

0

另一种选择是尝试使用CompositionTarget.Rendering ,如下所述:http: //msdn.microsoft.com/en-us/library/ms748838.aspx

您可能会遇到的问题是调用之间的时间无法保证,因此您可能会使帧运行得更快或更慢。

然而,Charles Petzold 有一篇文章展示了如何确定经过的时间,这种方式允许您在 Rendering 事件发生时选择正确的帧来显示。示例代码应该会有所帮助: http: //www.charlespetzold.com/blog/2010/06/CompositionTarget-Rendering-and-RenderEventArgs.html

于 2012-04-12T14:20:14.870 回答