thanks you for your help.
I post all the class about the video so you can have a look:
guiMain.h
{
Q_OBJECT
public:
explicit guiMain
(QWidget *parent
= 0);
~guiMain();
...
public slots:
private slots:
...
void updateAds();
void videoRestart();
void videoAutoRestart();
signals:
private:
...
//video
Phonon::MediaSource video;
void startVideo();
void stopVideo();
};
class guiMain : public QWidget
{
Q_OBJECT
public:
explicit guiMain(QWidget *parent = 0);
~guiMain();
...
public slots:
private slots:
...
void updateAds();
void videoRestart();
void videoAutoRestart();
signals:
private:
...
//video
Phonon::MediaSource video;
QTimer * videoRestartTime;
void startVideo();
void stopVideo();
};
To copy to clipboard, switch view to plain text mode
guiMain.cpp
guiMain
::guiMain(QWidget *parent
) : ui(new Ui::guiMain)
{
ui->setupUi(this);
...
//video
videoFileName.append(conf::Instance()->systemVideoPath);
videoFileName.append(conf::Instance()->adsVideoFileName);
QFile videoFile
(videoFileName
);
videoRestartTime
=new QTimer(this);
if (videoFile.exists()){
ui->videoPlayer->show();
video=Phonon::MediaSource (videoFileName);
ui->videoPlayer->load(video);
ui->videoPlayer->play();
connect(ui->videoPlayer->mediaObject(),SIGNAL(aboutToFinish()), this,SLOT(videoAutoRestart()));
pictureEnable=false;
videoEnable=true;
}else{
ui->videoPlayer->hide();
ui->lblAds->show();
pictureEnable=true;
videoEnable=false;
}
...
}
void guiMain::videoRestart(){
if(videoEnable && ui->stackedWidget->currentIndex()==nav["pMain"]){
ui->lblAds->hide();
ui->videoPlayer->show();
ui->videoPlayer->load(video);
ui->videoPlayer->play();
}
}
void guiMain::videoAutoRestart(){
ui->videoPlayer->mediaObject()->enqueue(video);
ui->videoPlayer->play();
}
void guiMain::stopVideo(){
ui->videoPlayer->mediaObject()->clearQueue();
ui->videoPlayer->mediaObject()->clear();
ui->videoPlayer->stop();
}
guiMain::guiMain(QWidget *parent) :
QWidget(parent),
ui(new Ui::guiMain)
{
ui->setupUi(this);
...
//video
QString videoFileName;
videoFileName.append(conf::Instance()->systemVideoPath);
videoFileName.append(conf::Instance()->adsVideoFileName);
QFile videoFile(videoFileName);
videoRestartTime=new QTimer(this);
if (videoFile.exists()){
ui->videoPlayer->show();
video=Phonon::MediaSource (videoFileName);
ui->videoPlayer->load(video);
ui->videoPlayer->play();
connect(ui->videoPlayer->mediaObject(),SIGNAL(aboutToFinish()), this,SLOT(videoAutoRestart()));
pictureEnable=false;
videoEnable=true;
}else{
ui->videoPlayer->hide();
ui->lblAds->show();
pictureEnable=true;
videoEnable=false;
}
...
}
void guiMain::videoRestart(){
if(videoEnable && ui->stackedWidget->currentIndex()==nav["pMain"]){
ui->lblAds->hide();
ui->videoPlayer->show();
ui->videoPlayer->load(video);
ui->videoPlayer->play();
}
}
void guiMain::videoAutoRestart(){
ui->videoPlayer->mediaObject()->enqueue(video);
ui->videoPlayer->play();
}
void guiMain::stopVideo(){
ui->videoPlayer->mediaObject()->clearQueue();
ui->videoPlayer->mediaObject()->clear();
ui->videoPlayer->stop();
}
To copy to clipboard, switch view to plain text mode
The videoRestart is called when I get back to the main screen, the stopVideo is called when i get out of it.
The videoAutoRestart is a slot connected to the aboutToFinish signal
Bookmarks