2011-01-29 100 views
3

我正在使用VB.net 2010和WPF 4.我需要在mediaelement上播放的两个视频之间进行平滑过渡。我绝对不能使用任何需要我在WPF窗口中使用winhost的东西,因为这会使我的项目变得不可能(因为视频是全屏的,而控件是视频的)WPF的平滑视频转换

基本上,我需要视频播放,然后顺畅地转到另一个在后面代码中指定的视频。我无法将两个视频拼接在一起 - 它们必须是分开的。

我该如何让视频顺利过渡,没有“眨眼”?

+0

看看这里http://www.darinhiggins.com/fading-two-video-windows-in-wpf/ – 2012-11-28 15:22:02

回答

1

我猜没有在这里测试。你可能会需要一些CPU核心和一个好的视频卡。

如果您有内存,请使用两个MediaElement s。

  • 排队两个视频,每个元素一个。
  • 将第二个的不透明度设置为完全透明。他们是UIElements所以这应该工作...
  • 使用某些种类的定时器从第一个播放的开始键入,以便您在播放结束前几秒钟获得一个事件。
  • 使用该事件代理,在第二个MediaElement中启动视频,将第一个不透明度设置为零,同时将第二个设置为完全不透明。
  • 如果您需要再次执行此操作,请重新设置计时器,并确保您的代理以其他方式进行动画处理。
+0

我有很好的硬件,但我不能保证我的最终用户会。最低内存要求是什么?你认为呢? – CodeMouse92 2011-02-01 16:17:39