ActiveMovie窗口在C#中弹出Microsoft.DirectX.AudioVideoPlayback

时间:2014-04-26 08:12:42

标签: c# video directx directshow audiovideoplayback

我创建了一个简单的窗体,用Microsoft.DirectX.AudioVideoPlayback显示视频。当视频加载到面板时,它会弹出一个activemovie窗口毫秒。我怎么能解决这个问题,因为每次开始播放视频时都很烦人,这会引发这个activemovie窗口。这就像应用程序有延迟。

这是我的代码:

   string path = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), @"Photos\test.avi");

   var ofd = path;
   var video = new Video(ofd, true);
   label3.Text = ofd;
   video.Owner = panel2;
   panel2.Size = new System.Drawing.Size(640,480);
   video.Ending += new EventHandler(videocountdown_Ending);
   video.Size = new System.Drawing.Size(640, 480);

enter image description here

当我按下播放视频的按钮时,它上面是一个打印屏幕。我裁剪它,我只向你展示这张照片中的面板。

1 个答案:

答案 0 :(得分:0)

video = new Video(ofd, true);
video.Owner = panel2;

所以你在绑定到面板之前自动运行它?我想你想要另一种方式:创建,然后Owner,然后Play

video = new Video(ofd, false);
video.Owner = panel2;
video.Play();

没有UI初始化的播放使视频渲染器将视频渲染到私人弹出窗口,该窗口具有历史标题"ActiveMovie",即将庆祝20周年纪念日......