Qt5Multimedia Problem - no service found for - "org.qt-project.qt.mediaplayer"
-
I am developing a QtWebkit application that have to play a video. However, my Qt application cannot play a video with the runtime debugging log,
- defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer"
I build a Qt 5.4.1 source code myself and get Qt DLLs from that building. In addition, I build an webkit source code separately from the Qt building by running the perl script "build-webkit".
My configuration as follows,
- OS : Windows7 x64
- Qt Version : 5.4.1
- Compiler : win32 msvc2012
- Qt configure option
- congifure -prefix %CD%\qtbase -debug -opensource -qt-zlib -platform win32-msvc2012 -icu -opengl desktop -nomake examples -nomake tests -skip qtdoc -skip qtmacextras -skip qtquick1 -skip qtquickcontrols -skip qtscript -skip qtserialport -skip qtsvg -skip qttools -skip qtwayland -skip qtwebengine -skip qtwebkit-examples -skip qtwinextras -skip qtx11extras
- Webkit version : 538
I have read many threads related to this problem. Many of them indicates the solution https://forum.qt.io/topic/28620/solved-qtmultimedia-defaultserviceprovider-requestservice-no-service-found-for-org-qt-project-qt-mediaplayer/9, but this dose not solve my case.
After building Qt, I think there should be the DLLs required to play a video such as dsengine.dll or wmfengine.dll in "qtbase/plugins/mediaservice" folder. However, in my case, that folder only contains qtmedia_audioengined.dll.
In addition, here is some messages in "qtmultimedia/config.log".
- test openal FAILED
test directshow FAILED
test wmsdk FAILED
test wmp FAILED
test evr FAILED
I enabled the environment variable "QT_DEBUG_PLUGINS", and got the messages as follows during runtime.
- QFactoryLoader::QFactoryLoader() checking directory path "C:/GitHub/CloudUiServer/Win32/Debug/mediaservice" ...
QMediaPluginLoader: loading metadata for iid "org.qt-project.qt.mediaserviceproviderfactory/5.0" at location "/mediaservice"
QMediaPluginLoader: Inserted index 0 into metadata: QJsonObject({"Keys":["audiocapture"],"Services":["org.qt-project.qt.audiosource"],"index":0})
QMediaPluginLoader: Inserting new list for key: "org.qt-project.qt.audiosource"
defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer"
Please help me.