Qt源码重新编译QtMultimedia模块解决XP播放视频问题

当用qmlMediaPlayerXP系统下播放视频时,会报错:QtMultimedia : defaultServiceProvider::requestService(): no service found for - “org.qt-project.qt.mediaplayer”. 这时需要修改源码重新编译QtQtMultimedia模块,使用重新生成的dsengine.dll库

步骤如下:

1. 到官网去下载qtmultimedia这个模块的源码(注意:不用把整个sdk都下载,因为qt提供了下载单个模块下qtmultimedia-opensource-src-5.2.0.zip),大概6M左右,进行解压

2.  打开qtmultimedia-opensource-src-5.2.0\src\plugins\plugins.pro

   删除 config_wmf: SUBDIRS += wmf

3. 打开qtmultimedia-opensource-src-5.2.0\src\plugins\directshow\directshow.pro

  将!config_wmf: include(player/player.pri)

改为:

    include(player/player.pri)

4. 打开directshow.pro,重新编译,在配置的输出目录的\plugins\mediaservice目录下生成了好多音视频相关库,如下截图:

Qt源码重新编译QtMultimedia模块解决XP播放视频问题_第1张图片

  找到dsengined.dll库,将自己工程中原来的dsengined.dll库替换掉。

    注意:如果没有配置编译输出路径的话,可能会输出到你的C盘目录下(本人用的QtCreator编译的)。


   ※不想自己手动编的朋友,可以直接用本人编的库,下载即可用※

    获取本人编的整个模块输出库,请点击:

    http://download.csdn.net/detail/shado_walker/9741942

    可以根据自己需要进行使用☺


你可能感兴趣的:(Qt/QML的实践积累,源码,视频,mediaplayer,库)