使用VlcDotNet库显示视频

kre*_*470 2 c# video visual-studio-2012

我在Visual Studio 2012中创建了一个C#Windows窗体应用程序,并在此网页中添加了dll:http://vlcdotnet.codeplex.com/ 我已经获得了使用此代码的视频:

VlcControl player = new VlcControl();
Vlc.DotNet.Core.Medias.MediaBase media = new 
    Vlc.DotNet.Core.Medias.PathMedia(@"path\movie.avi");
player.Media = media;
player.Play();
Run Code Online (Sandbox Code Playgroud)

但是它在另一个窗口中显示它,我无法控制它.我如何在我的表单中嵌入视频?

我还没有找到任何关于如何以编程方式执行此操作的文档.教程中的大多数人都在他们的工具箱中列出了某种vlc控件,但我没有,所以我需要用代码来做.

我尝试使用面板作为VlcControl的父级:

player.Parent=panel1;
Run Code Online (Sandbox Code Playgroud)

电影仍在播放,但没有视频,只有声音.我应该使用什么样的容器以及如何让它显示视频?

更多信息:这里:VLC.DotNet控件在WPF中托管,据说可以在WPF中的WindowsFormsHost元素中嵌入视频.但是,在Windows窗体应用程序中,只有ElementHost可供我使用.我可以使用它来嵌入视频,如果是,怎么样?

kre*_*470 5

我找到了解决方案.我需要添加player到面板的控件并设置播放器大小.在这里,如果有人会需要它:

player = new VlcControl();

panel1.Controls.Add(player);

player.BackColor = System.Drawing.Color.Black;
player.ImeMode = System.Windows.Forms.ImeMode.NoControl;
player.Location = new System.Drawing.Point(0, 0);
player.Name = "test";
player.Rate = 0.0F;

player.Size = new System.Drawing.Size(1024, 768);

Vlc.DotNet.Core.Medias.MediaBase media = new 
    Vlc.DotNet.Core.Medias.PathMedia(@"path\movie.avi");
player.Media = media;
player.Play();
Run Code Online (Sandbox Code Playgroud)