c# Windows窗体Windows媒体播放器没有图片

本文关键字:Windows 有图片 窗体 媒体播放器 | 更新日期: 2023-09-27 18:04:00

我需要一个建议,我有一个使用WMP (WMPLib.dll和AxInterop的c# windows窗体应用程序。WMPLib。dll)。我试用了一个应用程序,除了一台以外,它在所有电脑上都能正常工作。那台电脑安装的是Windows XP系统。当我尝试播放视频时,播放器加载视频,显示总时间,开始播放视频,但是没有图片,只有黑屏。当我尝试在同一台计算机上的windows媒体播放器上播放同一视频时,一切都很好。我在其他windows XP电脑上测试了这款应用,一切正常。

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

有没有人能给我指出正确的方向,我还可以检查什么,或者我能做些什么来解决这个问题。


我发现,当我关闭无窗口选项视频图像显示。我使用无窗口选项,以便能够捕捉视频播放的图像。如果没有这个选项,我就不能用下面的代码捕获屏幕:

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();

如何使这个无窗口选项在所有计算机上工作?

c# Windows窗体Windows媒体播放器没有图片

当运输应用…确保目标系统与您用于开发应用程序的。net框架版本和。dll文件版本兼容。

可能你使用的wmp.dll文件版本比windows XP已有的版本要高。

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

根据05-31-2014问题编辑:

你需要使用一个属于Silverlight System.Windows.Interop的命名空间

考虑阅读更多关于WindowlessInterop的信息