开发环境Win10专业版,VS2010,使用Windows Media Player的COM组件,WMP的版本是12.0.17134.1,为了重现问题,代码简化到就是是依据给WMP的控件赋值一个有效mp4文件的路径,直接播放操作。项目输出平台是x64。在开发电脑上运行正常,打包exe后在另外一台之前装有VS2010的开发电脑,运行也正常,部署到另外一台客户端电脑,打开,直接闪退。
通过调用事件日志查看器,发现报的错,模块是d3d9.dll。使用git严格对比了客户端电脑和开发电脑的d3d9.dll文件,发现完全一样,以及WMP的版本号也是完全相同。想不通为啥不行。

解决方案 »

  1.   

    直接让客户用wmp打开那个mp4,WMP自己闪退就是那台电脑的问题了。
      

  2.   

    我有一个开发的软件,软件用到了WMP的插件,要求是这个软件能正常用,而不是单纯的播放这个mp4。应该是想办法把客户端电脑的问题给找出来。
      

  3.   

    客户端电脑没装Window Media player,或者没运行过
      

  4.   

    客户端装了WMP,版本和开发电脑上的版本号是一样的,并且,用WMP直接打开那个MP4,是可以正常播放的,但是通过我自己写的应用程序,调用WMP的COM组件,就出错了。不知道有没有懂的人,会不会是COM组件的调用有啥需要注意的地方
      

  5.   

    VLC 试试,就是文件太大了点