首页 文章

C#Windows窗体Windows Media Player没有图片

提问于
浏览
0

我需要一个建议,我有一个使用WMP的C#Windows窗体应用程序(WMPLib.dll和AxInterop.WMPLib.dll) . 我尝试了一个应用程序,它可以在除一个计算机之外的所有计该计算机在Windows XP上 . 当我尝试播放视频时,播放器加载视频,显示总时间,开始播放视频,但没有图片,只有黑屏 . 当我尝试在同一台计算机上的Windows媒体播放器上播放相同的视频时,一切正常 . 我测试了其他Win XP计算机上的应用程序,一切正常 .

到目前为止,我重新安装WMP,重新安装所有编解码器,删除所有其他播放器,但这没有帮助 .

任何人都可以指出我正确的方向,我可以检查什么或我可以做些什么来解决这个问题 .


UPDATE

我发现当我关闭windowless option时会显示视频图像 . 我使用无窗口选项来捕获视频播放的图像 . 没有该选项,我无法使用此代码捕获屏幕:

Bitmap bitmap = new Bitmap(wmPlayer.Width-26, wmPlayer.Height-66);
            {
                Graphics g = Graphics.FromImage(bitmap);
                {
                    Graphics gg = wmPlayer.CreateGraphics();
                    {
                        this.BringToFront();

                           g.CopyFromScreen(
                            wmPlayer.PointToScreen(
                                new System.Drawing.Point()).X+13,
                            wmPlayer.PointToScreen(
                                new System.Drawing.Point()).Y,
                            0, 0,
                            new System.Drawing.Size(
                                wmPlayer.Width-26,
                                wmPlayer.Height-66)
                            );
                    }
                }
                using (MemoryStream ms = new MemoryStream()){
                        bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
                        ret = System.Drawing.Image.FromStream(ms);
                        pictureBoxSlika.Image=ret;



                    }
                }
            bitmap.Dispose();

如何使这个无窗口选项适用于所有计算机?

1 回答

  • 0

    运送应用程序时..确保目标系统与您用于开发应用程序的.NET框架版本和.dll文件版本兼容 .

    可能你使用的wmp.dll文件版本高于Windows XP已有的版本 .

    始终检查与您在应用程序中使用的内容的兼容性 .

    According to 05-31-2014 Question Edit :

    您将需要使用属于Silverlight System.Windows.Interop 的命名空间

    考虑阅读更多Here然后Here了解更多关于 WindowlessInterop

相关问题