PDA

View Full Version : How to play more than one videos in a QGraphicsView at same time?



rcyboom
19th June 2016, 07:27
if only playing one video,it's successful.but two or three,it's Failure.
I note the document for QGraphicsVideoItem:

Note: Only a single display output can be attached to a media object at one time. (http://doc.qt.io/qt-5/qgraphicsvideoitem.html)

so,I want to know how to palying more then one video in a QGraphicsView ?
Thanks!

my test codes:
-------------------
#include <QtWidgets/QApplication>
#include <QGraphicsScene>
#include <QGraphicsVideoItem>
#include <QMediaPlayer>
#include <QGraphicsView>

int main(int argc, char *argv[])
{
QApplication a(argc, argv);

QGraphicsScene scene;
scene.setSceneRect(0,0,1920,1080);

QGraphicsVideoItem *item1 = new QGraphicsVideoItem;
QMediaPlayer * player1 = new QMediaPlayer;
player1->setVideoOutput(item1);
player1->setMedia(QUrl::fromLocalFile("C:/Users/Public/Videos/Sample Videos/1.wmv"));
player1->setVolume(0);
scene.addItem(item1);
item1->setPos(0,100);

QGraphicsVideoItem *item2 = new QGraphicsVideoItem;
QMediaPlayer * player2 = new QMediaPlayer;
player2->setVideoOutput(item2);
player2->setMedia(QUrl::fromLocalFile("C:/Users/Public/Videos/Sample Videos/2.wmv"));
player2->setVolume(0);
scene.addItem(item2);
item1->setPos(500,500);

QGraphicsView view;
view.setScene(&scene);
view.scale(0.3,0.3);
view.show();
player1->play();
player2->play();


return a.exec();
}
--------------