2012-03-25 4 views
0

In meinem Programm muss ich 5 verschiedene Videos gleichzeitig in verschiedenen QGraphicsVideoitem starten und sie loopen. Alles funktioniert gut für einen Spieler, aber wenn ich zwei oder mehr erzeuge, reagiert meine Anwendung nicht nach 3 oder 2 Schleifen. Wie kann ich dieses Problem lösen? Ist dieses Problem von der API oder sollte ich den Code ändern?QtMobility Mehrere QMediyplyers in einer Anwendung

Antwort

0

Haben Sie darüber nachgedacht, andere Threads zu bearbeiten, damit Ihre App nicht eingefroren wird?

Einige Hinweise:

Sie Ihre Klasse von QThread ableiten können, Sie moveToThread() Funktion oder wenn Ihre Anwendung auf dem Desktop ausgeführt werden soll (statt mobile) verwenden, können Sie QtConcurrent::run() function mit berücksichtigen können

+0

ich versucht habe, um Spieler in anderen Threads zu erstellen. Aber ich hatte keinen Erfolg. – bossman

+0

Jeder QMediaplayer musste VIDEOOutput (QGraphicsVideoItem *) setzen. Aber jedes QGraphicsVideoItem * wird zur aktuellen Szene hinzugefügt und es befindet sich im Hauptgui-Thread. Wenn ich also setVideoOutput benutze, treten Fehler auf, die kein Ereignis an Objekte von einem anderen Thread senden können. – bossman

+0

Player rendert Video in einem anderen Thread, aber Ausgabe GUI-Element ist im Haupt-Thread. Dies ist eine Kollision. Ich habe keine Ideen – bossman

Verwandte Themen