QML Audio is not able to access mp3 file in qrc (windows)
-
Hi,
I am using QML audio to playback mp3 file in qrc. The same code works fine in Mac, iOS and Android. But not in Windows. I am compiling with VC2012 Express in Windows 7.
If the source file directs to local storage ("file:///../...mp3"), it runs normally. Just not in qrc ("qrc:///.../...mp3")
Does anyone know how to solve this?Thank you.
Albus
(P.S. my post is lost, thus I post the question again. If this question is duplicated, please kindly remove the topic. Thank you.) -
Hi,
That might be a backend limitation, can you check whether you have the DirectX or WMF plugin loaded ?
-
Thanks for reply.
I do have wmfengine.dll installed in plugins\mediaservice directory.
But when I run listDLLs to check my program, there is no WMF or DirectShow related dll loaded, however Qt5Multimedia.dll did have loaded.WMF might case the qrc issue? Because it plays normally with files under physical directory.
Thanks.
-
Do you also have the DirectX plugin ?
From a quick code check the WMF should handle the qrc case
-
Then try to move it of the multimedia plugin folder to ensure that the WMF plugin gets loaded
-
@SGaist I renamed these dll, nothing special happened, the program ran normally (but when playing the mp3 file, the error was : MediaPlayer fail to load source).
Actually, early before when I first tried to run my program, it failed to load every dll it needed, thus I had to copy all dll to have a fast try. But WMF and DS dlls are never asked.
-
Starting your application with QT_DEBUG_PLUGINS set to 1 will show you what gets loaded
-
Which are loaded ?
-
@SGaist here is the list:
"C:/Qt/Qt5.5.1/5.5/msvc2012/plugins/platforms/qminimal.dll"
"C:/Qt/Qt5.5.1/5.5/msvc2012/plugins/platforms/qoffscreend.dll"
"C:/Qt/Qt5.5.1/5.5/msvc2012/plugins/platforms/qwindows.dll"
loaded library "C:/Qt/Qt5.5.1/5.5/msvc2012/qml/QtQuick.2/qtquick2plugind.dll"
C:/Qt/Qt5.5.1/5.5/msvc2012/qml/QtQuick/Controls/qtquickcontrolsplugind.dll, metadata=
"C:/Qt/Qt5.5.1/5.5/msvc2012/qml/QtQuick/Controls/qtquickcontrolsplugind.dll"
C:/Qt/Qt5.5.1/5.5/msvc2012/qml/QtQuick/Window.2/windowplugind.dll, metadata=
loaded library "C:/Qt/Qt5.5.1/5.5/msvc2012/qml/QtQuick/Window.2/windowplugind.dll"
C:/Qt/Qt5.5.1/5.5/msvc2012/qml/QtQuick/Layouts/qquicklayoutsplugind.dll, metadata=
"C:/Qt/Qt5.5.1/5.5/msvc2012/qml/QtQuick/Layouts/qquicklayoutsplugind.dll"
C:/Qt/Qt5.5.1/5.5/msvc2012/qml/Qt/labs/folderlistmodel/qmlfolderlistmodelplugind.dll, "C:/Qt/Qt5.5.1/5.5/msvc2012/qml/Qt/labs/folderlistmodel/qmlfolderlistmodelplugind.dll"
"C:/Qt/Qt5.5.1/5.5/msvc2012/plugins/bearer/qgenericbearer.dll"
"C:/Qt/Qt5.5.1/5.5/msvc2012/plugins/bearer/qgenericbearerd.dll"
"C:/Qt/Qt5.5.1/5.5/msvc2012/plugins/bearer/qnativewifibearer.dll"
"C:/Qt/Qt5.5.1/5.5/msvc2012/plugins/bearer/qnativewifibearerd.dll"
loaded library "C:/Qt/Qt5.5.1/5.5/msvc2012/plugins/bearer/qgenericbearerd.dll"
loaded library "C:/Qt/Qt5.5.1/5.5/msvc2012/plugins/bearer/qnativewifibearerd.dll"
loaded library "wlanapi"
"C:/Qt/Qt5.5.1/5.5/msvc2012/plugins/audio/qtaudio_windows.dll"
"C:/Qt/Qt5.5.1/5.5/msvc2012/plugins/imageformats/qdds.dll"
"C:/Qt/Qt5.5.1/5.5/msvc2012/plugins/imageformats/qgif.dll"
"C:/Qt/Qt5.5.1/5.5/msvc2012/plugins/imageformats/qicns.dll"
"C:/Qt/Qt5.5.1/5.5/msvc2012/plugins/imageformats/qico.dll"
"C:/Qt/Qt5.5.1/5.5/msvc2012/plugins/imageformats/qjp2.dll"
"C:/Qt/Qt5.5.1/5.5/msvc2012/plugins/imageformats/qjpeg.dll"
"C:/Qt/Qt5.5.1/5.5/msvc2012/plugins/imageformats/qmng.dll"
"C:/Qt/Qt5.5.1/5.5/msvc2012/plugins/imageformats/qsvg.dll"
"C:/Qt/Qt5.5.1/5.5/msvc2012/plugins/imageformats/qtga.dll"
"C:/Qt/Qt5.5.1/5.5/msvc2012/plugins/imageformats/qtiff.dll"
"C:/Qt/Qt5.5.1/5.5/msvc2012/plugins/imageformats/qwbmpd.pdb"
"C:/Qt/Qt5.5.1/5.5/msvc2012/plugins/imageformats/qwebp.dll"
"C:/Qt/Qt5.5.1/5.5/msvc2012/plugins/sqldrivers/qsqlite.dll"
"C:/Qt/Qt5.5.1/5.5/msvc2012/plugins/sqldrivers/qsqlited.dll"
"C:/Qt/Qt5.5.1/5.5/msvc2012/plugins/sqldrivers/qsqlmysql.dll"
"C:/Qt/Qt5.5.1/5.5/msvc2012/plugins/sqldrivers/qsqlodbc.dll"
"C:/Qt/Qt5.5.1/5.5/msvc2012/plugins/sqldrivers/qsqlpsql.dll" -
What code are you using to play that audio file ?
-
Then it probably is using the audio plugin which I'm not sure at all is supporting qrc