Frage

Hat jemand baute eine Qt S60 app (3. Auflage, FP2), die (Streaming oder lokal) Video spielt?

Ich möchte Video spielen 'in' ein Widget, nicht mit (sagen wir) QDesktopServices.

Ich weiß, dass es Dokumentation darüber, wie diese mit Symbian zu tun, wie hier und hier aber ich bin immer noch stecken.

(Apologies im Voraus für Cross-Posting. Ich habe an anderer Stelle gefragt, aber ohne Erfolg)

War es hilfreich?

Lösung

Qt 4 umfasst eine Reihe von Multimedia-APIs Phonon genannt, die Ihnen erlauben, um nur diese zu tun. Sie sind derzeit für Symbian implementiert werden - während der Qt für S60 "Tower" Pre-Release keine Unterstützung für Phonon auf Symbian gehören Qt 4.6 tun.

In der Zwischenzeit Ihre einzige Option ist es, die Symbian MMF APIs direkt zu verwenden. Insbesondere Ihr Video Widget - oder ein Objekt in ihrem Besitz befindet - muß eine Instanz von CVideoPlayerUtility schaffen, und deshalb muß MVideoPlayerUtilityObserver implementieren. Der Video-Player-API benötigt der Client eine RWindow bereitzustellen, in dem das Video angezeigt werden - dies telefonisch QWidget::winId() erhalten werden kann, die einen CCoeControl* Zeiger zurückgibt. Sie können daher einen Fenstergriff erhalten durch den Aufruf

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

Alle aber in allem Video von einer Qt-App spielen (oder in der Tat jede App) auf Symbian erfordert zur Zeit ziemlich viel Arbeit - vor allem, wenn Sie dynamische Neudimensionierung und / oder Neupositionierung des Videoinhalte unterstützt werden sollen . Beachten Sie auch, dass die Art und Weise, in der Qt derzeit auf Symbian implementiert ist, bedeutet, dass andere Widgets zu bewegen (teilweise oder vollständig) auf dem Video-Widget wird nicht korrekt funktionieren - das Video wird auch weiterhin im Vordergrund angezeigt werden. Dies ist aufgrund der Tatsache, dass QWidget::winId() Aufruf zur Zeit nicht Qt verursacht ein native Symbian-Fenster zu erstellen, und wird in 4.6 behoben werden.

Zusammenfassend, wenn Sie in Eile sind, dies zu tun, ist es wahrscheinlich besser für den 4.6 Beta zu warten, die in wenigen Wochen fällig ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top