我需要一个建议,我有一个使用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 回答
运送应用程序时..确保目标系统与您用于开发应用程序的.NET框架版本和.dll文件版本兼容 .
可能你使用的wmp.dll文件版本高于Windows XP已有的版本 .
始终检查与您在应用程序中使用的内容的兼容性 .
According to 05-31-2014 Question Edit :
您将需要使用属于Silverlight
System.Windows.Interop
的命名空间考虑阅读更多Here然后Here了解更多关于
Windowless
和Interop