[SOLVED] QtMultimedia : defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer"
-
Hello everyone, my problem is the following : I'm developping a multimedia application with Qt obviously (Qt 5.1.0-RC1), therefore I use the "QMediaPlayer":http://qt-project.org/doc/qt-5.0/qtmultimedia/qmediaplayer.html class from the "QtMultimedia ":http://qt-project.org/doc/qt-5.0/qtmultimedia/multimediaoverview.htmlmodule. Even though it compiles and launches perfectly when using MinGW as a compiler, when I use mscv2012 64bit I get the the message shown in the topic's title. I was getting the same message with the 5.0.2 version of Qt but I was told that it came from the lack of the dsengine.dll in the /plugins/mediaservice directory. And now the said dll is inside the directory but it doesn't seem to change anything. So if anyone encountered the same issue and found a fix , they are more than welcome to post it here, because I know that it will benefit many others.
Thank you in advance for your time and your help.
Edit: Solved and solution is there : https://forum.qt.io/topic/28620/solved-qtmultimedia-defaultserviceprovider-requestservice-no-service-found-for-org-qt-project-qt-mediaplayer/9
Qt Version : 5.1.0-RC1
Os : Windows 8 64bit
IDE : QtCreator 2.7.1 -
Did you had a wmfengine.dll inside the /plugins/mediaservice directory? If yes, it means that Qt was compiled with WMF support.
If that's the case, then dsengine.dll will only contain camera support, not player support. You need to re-compile dsengine.dll with player support.
To do this, open directshow.pro and change the line:
@!config_wmf: include(player/player.pri)@
into:
@include(player/player.pri)@
Then you should be able to open directshow.pro and recompile the plugin.
-
So I recompiled the entire multimedia module with the modified directshow pro file then I copied the resulting mediaservice directory in my Qt installation plugins folder but it still doesn't work. If you have recompiled the dsenggine.dll file would you mind sending it to me?
-
Make sure wmfengine.dll isn't in the mediaservice directory. I currently only have build a debug version of dsengine (dsengined.dll). If you want, I can send you that one for evaluation.
I'm currently adding a -no-wmf-backend configuration flag for configure, to simplify this building process.
-
Reminder : these particular instructions are supposed to work for windows. If you have similar issues on Linux the solution seems to be to install libgstreamer.
So for those who have the same issue as I did :
-Dowload and extract the "qtmultimedia submodule" (for the corresponding version of Qt) from the Qt archives
-Delete the following line in the plugins.pro file:
config_wmf: SUBDIRS += wmf
-Change in the directshow.pro file:
!config_wmf: include(player/player.pri)
into
include(player/player.pri)
-Compile it all (with the same verison of MSVC you use to compile your program)
-Copy the resulting mediaservice folder next to your executableI have only tested this solution on Qt 5.1 but I don"t see why it shouldn't work on later versions.
-
Hi. I'm experiencing the same problem. My config is:
- Windows Vista 64bit
- qt-windows-opensource-5.1.0-msvc2010-x86-offline.exe
@raf924 So you're saying the wmf engine nor the ds engine from the official 5.1 SDK build does not work? Do I really have to compile it myself? Is perhaps the MinGW SDK version worh a shot?
Thanks.
-
Well it seems that it doesn't work. Maybe there is some tweak to perform on your machine to have it working but i think it easier to just recompile the multimedia module with the aforementionned modifications, if you want to use msvc as a compiler. I should point out that the reason i prefer using msvc rather than mingw in this case is that you can't get the metadata with the latter, or at least i couldn't. But if you don't care about getting the metadata from the Qt lib, yes i suggest you use MinGW.
-
I am still seeing this problem.
defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer"
Qt 5.1.1
QCreator 2.8.1
Os win7 x64
Target Windows Surface 2 Pro (Win8.1 x64)I have tried the above fix with no success. Any suggestions for isolating what the problem may be? I have tried with WAV and WMA sound clips.
-
Hi, I'm experiencing the same problem on building Static.
I descriped my problem in the next link.
http://qt-project.org/forums/viewthread/40102/Solutions above won't work for me
-
Well, I believe it should be rather simple to fix your problem. You just need to apply the modifications to the source as indicated then build it statically then copy the result in your static Qt folder. I am by no means certain it will work but I think it should.
-
Sorry, I'm nube in QT
This is QT folder that runs Static "C:\Qt\Static\5.2.0"
This is source folder it build from "C:\Qt\Static\src\qt-everywhere-opensource-src-5.2.0".
Now, I have to
-Dowload and extract the qtmultimedia submodule [download.qt-project.org]
to "C:\Qt\Static\src\qt-everywhere-opensource-src-5.2.0\qtmultimedia"
-Delete the following in the plugins.pro file:
config_wmf: SUBDIRS += wmf
-Change in the directshow.pro file:
!config_wmf: include(player/player.pri)
into
include(player/player.pri)go to "C:\Qt\Static\src\qt-everywhere-opensource-src-5.2.0\qtmultimedia" with MinGW and run "qmake" command to compile it?
And than copy some resulting folder to "C:\Qt\Static\5.2.0" ?