Qt5, Phonon et Multimédia kit
Im tout à fait nouvelle au développement de Qt et Im en utilisant Qt5 Beta1 sur MacOSX.
Pour les deux derniers jours Ive été la lecture de la documentation et de la recherche d'informations sur les différentes possibilités que j'ai pour mettre en place un widget qui affiche l'image d'une vidéo qui correspond à un moment concret dans le temps. Un bon vieux aperçu, en bref.
J'ai d'abord pensé que, puisque je n'ai pas besoin de rien de fantaisie, Phonon serait le bon choix, comme elle est appelée à être "à un niveau plus élevé (que QTMultimedia) et dans de nombreux cas, plus adapté pour les développeurs d'applications." J'ai lu la documentation et même trouvé quelques discussions qui pourraient m'aider à commencer, comme cela; http://www.qtcentre.org/threads/13221-QT-4-4-Phonon-Video-Rendering-a-single-frame. Mais ensuite, quand j'ai essayé de faire quelque chose de mon propre chef, j'ai réalisé que je n'avais pas la bibliothèque Phonon. Surpris, je recherche à propos de Phonon et Qt5. Et c'est alors que tous les ennuis ont commencé.
J'ai commencé la lecture de la conversation comme celle-ci: http://comments.gmane.org/gmane.comp.lib.qt.user/1581
ou bien celle-ci: http://comments.gmane.org/gmane.comp.lib.qt.devel/3905 ou cet autre lien: https://bugreports.qt.io/browse/QTBUG-26471. Et je me suis vraiment confus, sans savoir si c'était une bonne idée de télécharger la bibliothèque Phonon ou il n'allait pas être pris en charge sur Qt5 après un certain temps.
J'ai donc décidé de faire un pas en arrière et réfléchir à nouveau sur l'utilisation de QTMultimedia au lieu de Phonon. J'ai regardé leur VideoWidget exemple http://doc.qt.io/qt-4.8/qt-multimedia-videowidget-example.html et quand j'ai essayé de l'exécuter, il lança de nombreuses erreurs (Im poster simplement le début de la sortie):
In file included from ../VideoExample/videoplayer.cpp:43:
In file included from ../VideoExample/videowidget.h:44:
../VideoExample/videowidgetsurface.h:57:11: warning: 'VideoWidgetSurface::isFormatSupported' hides overloaded virtual function [-Woverloaded-virtual]
bool isFormatSupported(const QVideoSurfaceFormat &format, QVideoSurfaceFormat *similar) const;
^
../../Downloads/qt-everywhere-opensource-src-5.0.0-beta1/qtbase/include/QtMultimedia/../../../qtmultimedia/src/multimedia/video/qabstractvideosurface.h:78:18: note: hidden overloaded virtual function 'QAbstractVideoSurface::isFormatSupported' declared here
virtual bool isFormatSupported(const QVideoSurfaceFormat &format) const;
^
../VideoExample/videoplayer.cpp:61:40: error: expected a type
QAbstractButton *openButton = new QPushButton(tr("Open..."));
^
../VideoExample/videoplayer.cpp:62:6: error: no matching member function for call to 'connect'
connect(openButton, SIGNAL(clicked()), this, SLOT(openFile()));
^~~~~~~
../../Downloads/qt-everywhere-opensource-src-5.0.0-beta1/qtbase/include/QtCore/../../src/corelib/kernel/qobject.h:211:36: note: candidate function not viable: cannot convert argument of incomplete type 'QAbstractButton *' to 'const QObject *'
static QMetaObject::Connection connect(const QObject *sender, const char *signal,
Et c'est le moment où j'ai senti que j'étais complètement perdu et écrit ici :/
Donc mes questions sont les suivantes:
- Personne ne connaît l'état réel de Phonon et si c'est une bonne idée de l'utiliser pour Qt5? Est alors, que dois-je le faire fonctionner? Je suppose que Im mélange de concepts ici, mais je suis terriblement perdu entre ce qui appartient à l'intervalle Qt et de ce pas, et quelles sont les implications de ces deux possibilités.
- Aucune idée pourquoi l'exemple de QTMultimedia ne fonctionne pas?
En général, les pensées sur ce sujet serait grandement apprécié.
OriginalL'auteur AlvaroSantisteban | 2012-11-28
Vous devez vous connecter pour publier un commentaire.
De Phonons cadre ne semble pas être inclus dans Qt 5 (Qt et Technologies Clés).
L'exemple que vous avez testé semble fonctionner seulement avec Qt 4.7, pas de Qt 5. L'intervalle Qt 5.0 version peut être trouvée ici. L'intervalle Qt 5.1 version peut être trouvée ici.
Malheureusement, l'exemple ne contiennent pas de code pour l'instant... :/
IMO il n'est pas recommandé, même sur les versions antérieures de Qt, depuis Phonon (un projet KDE), inclut de nombreuses fonctionnalités spécifiques à KDE. Aussi, Qt 4.4 a été (autant que je sache) de la dernière version de Qt officiellement soutenir Phonon. Aujourd'hui, QtMultimedia et QtMobility ont remplacé Phonon.
Je n'ai aucune idée si les exemples seront jamais ajouté ou non à Qt 5. Désolé!
Désolé, Qt adopté Phonon dans Qt 4.4. Soutien restera pour le Qt 4.la série x, mais pas pour Qt 5.
OriginalL'auteur Vinícius Gobbo A. de Oliveira
Essayez d'installer phonon kit de développement.
yum install phonon-devel
OriginalL'auteur Abhinandan N.M.