我需要在我的应用中同时播放两个视频(每个长度为15秒)。随着时间的推移,我需要改变一个视频的不透明度(在DoubleAnimation中),让它出现在另一个视频上方。播放两个视频需要同步。
我尝试使用MediaElements播放视频,但我无法让他们同时播放视频。我认为这是不可能的。我是对的吗?
此外,我尝试将视频划分为450帧(每秒30帧)并使用ObjectAnimationUsingKeyFrames(例如:http://compiledexperience.com/windows-phone/tutorials/candle),但这种方式使用了太多内存(使用的内存大约为250 MB,尽管最大使用量必须为90 MB)。
最后我尝试使用DispatcherTimer并在它的Tick过程中更改两个图像的Source Properties,但它的工作速度足够慢。
请帮助我,有没有办法在没有滞后的情况下做到这一点?
答案 0 :(得分:0)
另一种选择是尝试使用 CompositionTarget.Rendering 如下所述:http://msdn.microsoft.com/en-us/library/ms748838.aspx
您可能遇到的问题是无法保证通话之间的时间,因此您可能会让帧速度更快或更慢。
然而,Charles Petzold有一篇帖子展示了如何确定经过的时间,以便在渲染事件发生时允许您选择正确的帧。示例代码应该有用: http://www.charlespetzold.com/blog/2010/06/CompositionTarget-Rendering-and-RenderEventArgs.html