WPF的平滑视频过渡

4
我正在使用VB.net 2010和WPF 4。我需要在mediaelement上播放两个视频之间实现平滑过渡。我绝对不能使用任何要求我在WPF窗口中使用winhost的东西,因为这将使我的项目不可能(因为视频是全屏的,控件在视频上方)。
基本上,我需要让视频播放完毕,然后平稳地转到代码后面指定的另一个视频。我不能把两个视频拼接在一起 - 它们必须是分开的。
我该如何使视频平滑过渡,没有“闪烁”?

请看这里:http://www.darinhiggins.com/fading-two-video-windows-in-wpf/ - NoWar
1个回答

2

我猜想,你可能需要一些CPU核心和一个好的显卡来运行。

如果你有足够的内存,可以使用两个MediaElement

  • 将两个视频都排队,分别放在每个元素上。
  • 将第二个元素的不透明度设置为完全透明。它们是UIElements,所以这应该起作用……
  • 使用某种计时器,从第一个开始播放时进行键控,以便在播放结束前几秒获得事件。
  • 通过该事件委托,在第二个MediaElement中启动视频,同时将第一个元素的不透明度动画到零,同时将第二个元素动画到完全不透明。
  • 如果需要再次执行此操作,请重新设置计时器,并确保您的委托以相反的方式动画。

我有好的硬件,但我不能保证我的最终用户也有。你认为这个程序的最低内存要求是多少? - CodeMouse92
取决于视频文件的大小以及MediaElement如何处理它们。很抱歉我不能更具体,但我认为最好的方法是对您最终选择的设计进行一些压力测试。 - Rob Perkins
非常感谢您。视频文件占产品的90%。(这是一个游戏。) - CodeMouse92
好的...但是有没有开源库可以应用于WPF MediaElement的过渡效果? - NoWar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接