2 pièce(s) jointe(s)
FullScreen avec Phonon::VideoPlayer
Bonjour,
J'ai coder un petit player ultra basique baser sur Phonon pour apprendre comment ce dernier fonctionne.
Le problème est le suivant je n'arrive pas a activer le fullscreen sur la video.
Mon code est en pièce jointe(PhononPlayerV2).
widget.h
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QLabel>
#include <Phonon>
#include <QFileDialog>
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = 0);
~Widget();
private:
Ui::Widget *ui;
Phonon::VideoPlayer *_vplayer;
Phonon::VolumeSlider *_vslider;
Phonon::SeekSlider *_sslider;
Phonon::MediaObject *_mobject;
Phonon::AudioOutput *_aoutput;
QLabel *played;
QLabel *total;
bool _stateTime;
private slots:
void updateTime();
void loadFile();
};
#endif // WIDGET_H |
widget.cpp
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
_vplayer = qFindChild<Phonon::VideoPlayer*>(this, "videoPlayer");
_vslider = qFindChild<Phonon::VolumeSlider*>(this, "volumeSlider");
_sslider = qFindChild<Phonon::SeekSlider*>(this, "seekSlider");
_aoutput = _vplayer->audioOutput();
_mobject = _vplayer->mediaObject();
_vslider->setAudioOutput(_aoutput);
_sslider->setMediaObject(_mobject);
QPushButton *fullScreen = qFindChild<QPushButton*>(this, "fs");
QPushButton *_openButton = qFindChild<QPushButton*>(this, "open");
played = qFindChild<QLabel*>(this, "played");
total = qFindChild<QLabel*>(this, "total");
total->setText(QString().setNum(_mobject->totalTime()));
connect(fullScreen, SIGNAL(clicked()), _vplayer, SLOT(showFullScreen()));
connect(_openButton, SIGNAL(clicked()), this, SLOT(loadFile()));
connect(_mobject, SIGNAL(tick(qint64)), this, SLOT(updateTime()));
}
Widget::~Widget()
{
delete ui;
}
void Widget::loadFile()
{
QString path = QFileDialog::getOpenFileName(this);
Phonon::MediaSource msource(path);
msource.setAutoDelete(true);
_vplayer->load(msource);
total->setText(QString().setNum(_mobject->totalTime()));
}
void Widget::updateTime()
{
played->setText(QString().setNum(_mobject->currentTime()));
} |
main.cpp
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
#include <QtGui/QApplication>
#include "widget.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
a.setApplicationName("Toto");
Widget w;
w.show();
return a.exec();
} |
Je ne comprend pas pourquoi lorsque que j'exécute un showFullScreen() sa ne fonctionne pas.
Ceci est la V2 du code j'avais fait un autre player avant avec phonon mais sans utiliser le Phonon::VideoPlayer, mais a la place j'utilisai le Phonon::VideoWidget et le fullscreen marchais très bien par contre je n'arrivais pas sortir du mode fullscreen, j'ai mis ce code la aussi en piece jointe(PhononPlayerV1).
Merci d'avance pour vos conseils.