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
widget.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
main.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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())); }
Je ne comprend pas pourquoi lorsque que j'exécute un showFullScreen() sa ne fonctionne pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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(); }
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.
Partager