2012-03-25 4 views
0

私のプログラムでは、異なるQGraphicsVideoitemで5つの異なるビデオを同時に開始し、それらをループする必要があります。 1人のプレイヤーすべてがうまく動作しますが、2つ以上作成すると、3つまたは2つのループの後にアプリケーションが応答しません。この問題をどうやって管理できますか? この問題はAPIか、コードを変更する必要がありますか?QtMobility 1つのアプリケーション内に複数のQMediaplyers

答えて

0

あなたのアプリがフリーズしないように、他のスレッドで重労働を考えましたか?

いくつかのヒント:あなたはQThreadからクラスを派生させることができ

アプリがデスクトップ上で実行することになっている場合は、あなたが(代わりに携帯電話の)moveToThread()機能を使用したりすることができますが、私が試してみましたQtConcurrent::run() function

+0

の使用を検討することができます他のスレッドでプレイヤーを作成します。しかし、私は成功しなかった。 – bossman

+0

すべてのQMediaplayer私は、VideoOutput(QGraphicsVideoItem *)を設定する必要がありました。しかし、すべてのQGraphicsVideoItem *は現在のシーンに追加され、Main Gui Threadにあります。したがって、setVideoOutputを使用すると、別のスレッドからオブジェクトにイベントを送信できないエラーが発生します。 – bossman

+0

Playerは別のスレッドでビデオをレンダリングしますが、出力GUI要素はメインスレッドにあります。これは衝突です。私は何のアイデアを持っていません – bossman

関連する問題