1

我创建了一个简单的 Windows 窗体,它使用 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);

在此处输入图像描述

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

4

1 回答 1

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

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

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

没有 UI 初始化的回放使视频渲染器将视频渲染到私有弹出窗口中,该窗口有一个历史性的标题“ActiveMovie”,即将庆祝 20 周年......

于 2014-04-26T08:57:23.607 回答