最近在做一个基于WPF+Media Foundation的视频播放器,界面用WPF实现,播放器的控制功能由media foudnation来实现。
现在遇到如下问题:运行播放器程序时,视频画面无法显示在WPF窗口上,但是声音是可以正常播放的。
对此问题困扰已久,我应该怎么将视频画面呈现到WPF窗口上呢,我试图用过以下方法,就是获取WPF窗口的句柄,然后直接调用media foudation中的一个函数,将画面显示在窗口上,但是不成功。由于刚接触WPF不久,希望得到您的指点,真心感谢!wpf播放器c#media foundation

解决方案 »

  1.   

    1、直接用wpf的MediaElement
    2、wpf窗体可以获得句柄,你再查查。
    wpf控件没有句柄。但可以放一个windowsFormHost的控件,里面再嵌你的winform的视屏控件。
    但是windowsFormHost控件会始终盖住wpf其他的控件。
      

  2.   

    slowhand,关于你的建议中说:wpf控件没有句柄。但可以放一个windowsFormHost的控件,里面再嵌你的winform的视屏控件。这句话可否详细解释一下呢?
    如何在windowsformhost中再放我的winform视频控件呢?是直接在xmal代码中加入
    <WindowsFormsHost>
     //此处放winform中的控件,例如winform中的picturebox控件.wf:是system.windows.forms程序集的映射
       <wf:PictureBox></wf:PictureBox>
    </WindowsFormsHost>
      

  3.   

    MediaElement支持的格式太少了,如果想支持多种格式的话我知道还有用LibVLC第三方控件,支持WPF的。