MultiMedia - C++ or QML
-
Hi,
I'm working on a player with QML UI and C++ backend. Now I've implemented most of the UI and start to work on the actual media playback. I would like to support following features: ReplayGain, Gapless playback and video. My target platforms are Windows, Android and other mobile Linux distributions (Ubuntu Touch, Sailfish etc.)
My first idea was to use QML "MediaPlayer":http://qt-project.org/doc/qt-5.0/qtmultimedia/qml-qtmultimedia5-mediaplayer.html object. But I'm afraid I won't be able to support RG and gapless with it. But it should be possible with "QMediaGaplessPlaybackControl":http://qt-project.org/search?search=QMediaGaplessPlaybackControl.
My current idea is to use "QMediaPlayer":http://qt-project.org/doc/qt-5.0/qtmultimedia/qmediaplayer.html from C++ and if the next track should be a video file, then I forward it to the QML part. Is it a good idea? I can see a lot of complications there, but it should be possible. Or is there a better solution?
Thank you!
-
With Ubuntu and Sailfish the GUI has to be in QML. So, you need to set up communication between QML and C++.
e.g. http://qt-project.org/doc/qt-5.0/qtqml/qtqml-cppintegration-topic.html.
If OpenGL is involved things get really complicated and it depends on the QtQuick version.
Good luck! -
wspilot> That's no problem, I already have everything working: QML UI, SQLite database and tag reading in C++ and the communication between the two parts. The only thing I'm missing is the actual playback.
I was also thinking about GStreamer since QtMultimedia uses by default DirectShow on Windows, which is a terrible backend. Any opinions on it?