我需要在C#中播放视频文件(带音频),然后才能将视频淡出为黑屏,然后淡入另一段视频。
我看过DirectShow&然而,DirectShowNet我并不聪明。我有一个简单的应用程序来播放带有计时器等的视频,但是我对使用过滤器和放大器感到困惑。的曲线图。
我需要进入哪个方向?
答案 0 :(得分:1)
创建WPF应用程序并使用MediaElement控件播放视频。使用MediaElement的事件(例如MediaEnded)来检测何时启动淡出/切换流源/淡化。淡出的最简单方法是改变Mediaelement的不透明度。 MediaElement应该能够播放系统上安装了directshow过滤器的所有视频。
答案 1 :(得分:0)
您使用的是WPF吗?
使用WPF,您可以通过各种方式执行此操作。例如,您可以简单地为视频控件(MediaElement)的不透明度设置动画。
注意:您可以在Winforms应用中使用WPF控件。有关如何执行此操作,请参阅this视频。
答案 2 :(得分:0)
一种解决方案,虽然我认为它是一种黑客攻击,但是可以在视频的可视区域上绘制黑色覆盖图。您可以根据视频的帧/时间调整叠加层的透明度。从本质上讲,您可以根据要开始淡化的视频中的位置,启动定时事件,该事件会慢慢删除或添加透明度。