我需要在我的应用中同时播放两个视频(每个长度为15秒) . 随着时间的推移,我需要改变一个视频的不透明度(在DoubleAnimation中),让它出现在另一个视频上方 . 播放两个视频需要同步目的 .
我尝试使用MediaElements播放视频,但我无法让他们同时播放视频 . 我认为这是不可能的 . 我对吗?
此外,我尝试将我的视频划分为450帧(每秒30帧)并使用ObjectAnimationUsingKeyFrames(例如:http://compiledexperience.com/windows-phone/tutorials/candle),但这种方式使用了太多内存(使用的内存大约为250 MB,但最大使用量必须为90 MB) .
最后我尝试使用DispatcherTimer,并在它的Tick过程中更改两个图像的源属性,但它运行得足够慢 .
请帮助我,有没有办法做到这一点没有滞后?
1 回答
另一种选择是尝试使用 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