VLC.DotNet控件托管在WPF中

时间:2014-04-27 10:33:39

标签: c# wpf vlc libvlc windowsformshost

我在WindowsFormsHost元素中,在WPF窗口内托管了VLC.DotNet窗口控件。这样做的原因,而不是使用Vlc.DotNet WPF控件是因为WinForms版本的性能比WPF版本好两倍。

无论如何,一切都很好,除了一个令人讨厌的细节;在 WinForms应用程序中使用WinForms版本时,渲染的视频将完全适合控件;但是,在WindowsFormsHost元素中使用相同的控件会导致视频以原始大小呈现,而不适合控件。

这里有两件事要注意:

  1. WinForms控件完全相同,所以在我看来,这种行为与它无关。

  2. 使用 Spy ++ 我已经设法在WinForms应用程序中查看控件的使用时间,渲染视频的矩形与控件的矩形大小完全相同本身,但是当在WPF应用程序中使用时,视频的重新录制(由VLC呈现并且我无法控制它)与控件的大小不同。相反,它与视频本身的大小相同。

  3. 任何人对WPF为什么会出现这种奇怪的行为有什么特别的想法?

    任何建议将不胜感激。

    非常感谢大家。

1 个答案:

答案 0 :(得分:1)

最后,我设法找出导致问题的原因并解决了它!

我应该承认,问题与这些情况下出现的前2000件事情甚至没有太大关系!相反,它与我从未见过的最荒谬的事情有关!好吧,正如他们所说,它总是在你看的最后一个地方!

听起来很奇怪,问题与视频缩放有关!我需要缩放视频,显然,当您在vlc中设置缩放时,视频将不再适合容器。

就是这样!