Howto get the QtMultimediaKit video element running in Qt QML?
-
Hello
I’m working with QtCreator 2.3.0 32bit on Windows7 (64bit). I try to run a simple QML Application using the QML Video element. As target for execution I select Desktop Application. The program starts but no video element is shown and it gives me the following error message:
module "QtMultimediaKit" is not installed
I try it also on Linux (Ubuntu 10.10) with the same result.
Where are the Modules located on Windows and Linux? And how I tell QML to use them?
In the Qt Docs are some examples but they don't work like described. If anyone has an working example or some hints he can make me happyTo the end of my .pro file I added the following lines
@
CONFIG += mobility
MOBILITY += multimedia
@
And here is the source
@
import Qt 4.7
import QtMultimediaKit 1.1Rectangle {
width: 360
height: 360
// Video
Video {
id: video
width : 360
height : 268
source: "dummy.mpg"
MouseArea {
anchors.fill: parent
onClicked: {
video.play()
}
}
focus: true
Keys.onSpacePressed: video.paused = !video.paused
Keys.onLeftPressed: video.position -= 5000
Keys.onRightPressed: video.position += 5000
}
MouseArea {
anchors.fill: parent
onClicked: {
Qt.quit();
}
}
}
@and here is the compiler output
@
Der Prozess "C:\QtSDK\mingw\bin\mingw32-make.exe" wurde normal beendet.
Führe Build-Schritte für Projekt VideoTest aus...
Unveränderte Konfiguration, qmake-Schritt wird übersprungen.
Starte "C:\QtSDK\mingw\bin\mingw32-make.exe"
C:/QtSDK/mingw/bin/mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directoryC:/Users/mky/QtProjekte/VideoTest-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK__Debug' g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_DECLARATIVE_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -I"..\..\..\..\QtSDK\Desktop\Qt\4.7.4\mingw\include\QtCore" -I"..\..\..\..\QtSDK\Desktop\Qt\4.7.4\mingw\include\QtGui" -I"..\..\..\..\QtSDK\Desktop\Qt\4.7.4\mingw\include\QtDeclarative" -I"..\..\..\..\QtSDK\Desktop\Qt\4.7.4\mingw\include" -I"..\VideoTest\qmlapplicationviewer" -I"..\..\..\..\QtSDK\Desktop\Qt\4.7.4\mingw\include\ActiveQt" -I"debug" -I"..\VideoTest" -I"." -I"..\..\..\..\QtSDK\Desktop\Qt\4.7.4\mingw\mkspecs\win32-g++" -o debug\main.o ..\VideoTest\main.cpp g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_DECLARATIVE_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -I"..\..\..\..\QtSDK\Desktop\Qt\4.7.4\mingw\include\QtCore" -I"..\..\..\..\QtSDK\Desktop\Qt\4.7.4\mingw\include\QtGui" -I"..\..\..\..\QtSDK\Desktop\Qt\4.7.4\mingw\include\QtDeclarative" -I"..\..\..\..\QtSDK\Desktop\Qt\4.7.4\mingw\include" -I"..\VideoTest\qmlapplicationviewer" -I"..\..\..\..\QtSDK\Desktop\Qt\4.7.4\mingw\include\ActiveQt" -I"debug" -I"..\VideoTest" -I"." -I"..\..\..\..\QtSDK\Desktop\Qt\4.7.4\mingw\mkspecs\win32-g++" -o debug\qmlapplicationviewer.o ..\VideoTest\qmlapplicationviewer\qmlapplicationviewer.cpp C:\QtSDK\Desktop\Qt\4.7.4\mingw\bin\moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_DECLARATIVE_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -I"..\..\..\..\QtSDK\Desktop\Qt\4.7.4\mingw\include\QtCore" -I"..\..\..\..\QtSDK\Desktop\Qt\4.7.4\mingw\include\QtGui" -I"..\..\..\..\QtSDK\Desktop\Qt\4.7.4\mingw\include\QtDeclarative" -I"..\..\..\..\QtSDK\Desktop\Qt\4.7.4\mingw\include" -I"..\VideoTest\qmlapplicationviewer" -I"..\..\..\..\QtSDK\Desktop\Qt\4.7.4\mingw\include\ActiveQt" -I"debug" -I"..\VideoTest" -I"." -I"..\..\..\..\QtSDK\Desktop\Qt\4.7.4\mingw\mkspecs\win32-g++" -D__GNUC__ -DWIN32 ..\VideoTest\qmlapplicationviewer\qmlapplicationviewer.h -o debug\moc_qmlapplicationviewer.cpp g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_DECLARATIVE_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -I"..\..\..\..\QtSDK\Desktop\Qt\4.7.4\mingw\include\QtCore" -I"..\..\..\..\QtSDK\Desktop\Qt\4.7.4\mingw\include\QtGui" -I"..\..\..\..\QtSDK\Desktop\Qt\4.7.4\mingw\include\QtDeclarative" -I"..\..\..\..\QtSDK\Desktop\Qt\4.7.4\mingw\include" -I"..\VideoTest\qmlapplicationviewer" -I"..\..\..\..\QtSDK\Desktop\Qt\4.7.4\mingw\include\ActiveQt" -I"debug" -I"..\VideoTest" -I"." -I"..\..\..\..\QtSDK\Desktop\Qt\4.7.4\mingw\mkspecs\win32-g++" -o debug\moc_qmlapplicationviewer.o debug\moc_qmlapplicationviewer.cpp g++ -Wl,-subsystem,console -mthreads -o debug\VideoTest.exe debug/main.o debug/qmlapplicationviewer.o debug/moc_qmlapplicationviewer.o -L"c:\QtSDK\Desktop\Qt\4.7.4\mingw\lib" -lQtDeclaratived4 -lQtGuid4 -lQtCored4 Copying application data... 1 Datei(en) kopiert mingw32-make[1]: Leaving directory
C:/Users/mky/QtProjekte/VideoTest-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK__Debug'
Copying application data...
1 Datei(en) kopiert
@ -
you can try installing Qt Mobility
http://doc.qt.nokia.com/qt-mobility-snapshot/installation.html
-
usual LGPL or GPL license won't work when u work with multimedia. Check if u have a commercial license/?
-
Thanks for the replies. I tried to figure out if there is any restriction to MultimediaKit in the opensource version but couldn't find anything about that rather than it seems to be available unter opensource license.
I installed the newest QtSDK, download the Mobilty sources and compiled it but it fails at some point in the qsysteminfo_win.cpp where some includes are missing. Seems an already reported but not yet fixed bug :-(
I try to dig what's going wrong using the sysinternals Process Monitor to find out where my application is looking for the MultimediaKit. It seems to look for a directory called QtMultimediaKit.1.2 with another directory qmldir inside. Those directories are not existent.
@
09:45:39,4623518 VideoTest.exe 1816 CreateFile C:\QtSDK\Simulator\QtMobility\mingw\lib\Simulator\QtMobility\mingw\lib\QtMultimediaKit.1.2\qmldir PATH NOT FOUND Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a
09:45:39,4631537 VideoTest.exe 1816 CreateFile C:\QtSDK\Desktop\Qt\4.7.4\mingw\imports\QtMultimediaKit.1.2\qmldir PATH NOT FOUND Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a
09:45:39,4635392 VideoTest.exe 1816 CreateFile C:\QtSDK\Simulator\QtMobility\mingw\lib\Simulator\QtMobility\mingw\lib\QtMultimediaKit.1\qmldir PATH NOT FOUND Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a
09:45:39,4642857 VideoTest.exe 1816 CreateFile C:\QtSDK\Desktop\Qt\4.7.4\mingw\imports\QtMultimediaKit.1\qmldir PATH NOT FOUND Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a
09:45:39,4646641 VideoTest.exe 1816 CreateFile C:\QtSDK\Simulator\QtMobility\mingw\lib\Simulator\QtMobility\mingw\lib\QtMultimediaKit\qmldir PATH NOT FOUND Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a
09:45:39,4654133 VideoTest.exe 1816 CreateFile C:\QtSDK\Desktop\Qt\4.7.4\mingw\imports\QtMultimediaKit\qmldir PATH NOT FOUND Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a
@But I found in the QtSDK under C:\QtSDK\Simulator\QtMobility\mingw\lib the QtMultimediaKit1.dll and libQtMultimediaKit1.a. So it seems that the Multimediakit is there but not accessible for my Application. So I try to set the PATH to that directory but it doesn't help.
Any other ideas what is wrong in my setup?
Thanks for your help