Question

Quelqu'un at-il construit une application Qt S60 (3ème édition, FP2) qui joue (streaming ou local) vidéo?

Je veux lire la vidéo 'dans' un widget, pas (par exemple) QDesktopServices.

Je sais qu'il ya des documents sur la façon de le faire avec Symbian, tels que et mais je suis toujours bloqué.

(Toutes mes excuses à l'avance pour le cross-posting. J'ai demandé ailleurs, mais sans succès)

Était-ce utile?

La solution

Qt 4 comprend une suite d'API multimédia appelé Phonon, qui vous permettent de faire exactement cela. Ils sont actuellement mis en œuvre pour Symbian - alors que la préversion Qt pour S60 « Tour » ne prend pas en charge Phonon sur Symbian, Qt 4.6 va faire.

En attendant, votre seule option est d'utiliser les API Symbian MMF directement. Plus précisément, votre widget vidéo - ou un objet dont elle est propriétaire - devront créer une instance de CVideoPlayerUtility et devront donc mettre en œuvre MVideoPlayerUtilityObserver. L'API lecteur vidéo nécessite le client de fournir un RWindow dans lequel pour afficher la vidéo - ce qui peut être obtenu en appelant QWidget::winId(), qui renvoie un pointeur CCoeControl*. Vous pouvez donc obtenir une poignée de fenêtre en appelant

RWindow& window = *static_cast<RWindow*>(widget->winId()->DrawableWindow())

Dans l'ensemble cependant, la lecture vidéo à partir d'une application Qt (ou encore une application) sur Symbian exige actuellement beaucoup de travail - surtout si vous voulez soutenir re-dimensionnement dynamique et / ou re-positionnement du contenu vidéo . Notez également que la façon dont Qt est actuellement mis en œuvre sur Symbian signifie que le déplacement d'autres widgets (partiellement ou totalement) au-dessus du widget vidéo ne fonctionnera pas correctement - la vidéo continuera à apparaître sur le dessus. Cela est dû au fait que l'appel ne QWidget::winId() actuellement pas provoquer Qt pour créer une fenêtre native Symbian, et sera rectifiée en 4.6.

En résumé, à moins que vous êtes pressé de le faire, il est sans doute préférable d'attendre la bêta 4.6 qui est due dans quelques semaines.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top