NCL Composer  0.1.5
 All Classes Functions Variables Pages
videoplayer.cpp
1 /*INF2102 Projeto Final de Programação*****************
2  *Período: 2012/2
3  *Coordenador: Prof. Carlos José Pereira Lucena *
4  *Projeto: Media-Preview Plugin para o Composer 3.0 *
5  *Nome do aluno: Amparito Alexandra Morales Figueroa. *
6  *Matrícula: 1121838 *
7  *Orientador: Prof. Luiz Fernando Gomes Soares *
8  *Classe: VideoPlayer *
9  *Descrição: Exibição e controle de mídias de vídeo****/
10 
11 #include "videoplayer.h"
12 #include "ui_videoplayer.h"
13 #include<QBoxLayout>
14 #include<QSizePolicy>
15 #include<VolumeSlider>
16 
17 
18 videoplayer::videoplayer(QString filename): ui(new Ui::videoplayer)
19 {
20 
21  setMinimumWidth(430);
22  setMinimumHeight(250);
23 
24  ui->setupUi(this);
25  ui->playbutton->setFont(QFont("Comic Sans MS",10,QFont::Bold));
26 // ui->playbutton->setIcon(QIcon("play.jpeg"));
27  ui->playbutton->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Minimum);
28 
29  ui->playbutton->setIconSize(QSize (26,26));
30  ui->playbutton->setStyleSheet("* { background-color: rgb(173,225,47) }");
31 
32  ui->pausebutton->setFont(QFont("Comic Sans MS",10,QFont::Bold));
33 // ui->pausebutton->setIcon(QIcon("pause.jpeg"));
34  ui->pausebutton->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Minimum);
35 
36  ui->pausebutton->setIconSize(QSize (26,26));
37  ui->pausebutton->setStyleSheet("* { background-color: rgb(173,225,47) }");
38 
39  ui->stopbutton->setFont(QFont("Comic Sans MS",10,QFont::Bold));
40 // ui->stopbutton->setIcon(QIcon("stop.jpeg"));
41  ui->stopbutton->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Minimum);
42 
43  ui->stopbutton->setIconSize(QSize (26,26));
44  ui->stopbutton->setStyleSheet("* { background-color: rgb(173,225,47) }");
45 
46  mediaObject = new Phonon::MediaObject(this);
47  mediaObject->setCurrentSource(Phonon::MediaSource(filename));
48 
49  Phonon::createPath(mediaObject, ui->videoDisplay);
50 
51  Audioutput =new Phonon::AudioOutput(Phonon::VideoCategory, this);
52  Phonon::createPath(mediaObject, Audioutput);
53  Audioutput->setVolume(0.003);
54 
55  ui->volumeSlider->setAudioOutput(Audioutput);
56  ui->volumeSlider->setSingleStep(0.002);
57  ui->volumeSlider->setMaximumVolume(0.3);
58  ui->volumeSlider->setTracking(true);
59  ui->volumeSlider->setMaximumVolume(1);
60  ui->volumeSlider->setMuteVisible(true);
61  ui->volumeSlider->setFixedSize(180,20);
62  ui->volumeSlider->setFixedWidth(150);
63  ui->volumeSlider->setSizePolicy(QSizePolicy::Maximum,QSizePolicy::MinimumExpanding);
64 
65 
66  ui->seekSlider->setMediaObject(mediaObject);
67  ui->seekSlider->setSingleStep(1);
68 
69  QHBoxLayout *layoutcontrol= new QHBoxLayout();
70  layoutcontrol->addWidget(ui->playbutton);
71  layoutcontrol->addWidget(ui->pausebutton);
72  layoutcontrol->addWidget(ui->stopbutton);
73  layoutcontrol->addWidget(ui->volumeSlider);
74 
75  QHBoxLayout *layoutslider=new QHBoxLayout();
76  layoutslider->addWidget(ui->seekSlider);
77 
78 
79  QVBoxLayout *layoutvideo = new QVBoxLayout();
80  layoutvideo->addWidget(ui->videoDisplay);
81  layoutvideo->addLayout(layoutcontrol);
82  layoutvideo->addLayout(layoutslider);
83 
84  setLayout(layoutvideo);
85 
86  ui->videoDisplay->setStyleSheet("* { background-color: rgb(0,0,0) }");
87  ui->videoDisplay->setVisible(true);
88 
89  /*Slots controle de video*/
90 
91  connect(ui->videoDisplay, SIGNAL(finished()), ui->videoDisplay, SLOT(deleteLater()));
92  connect(ui->playbutton, SIGNAL(clicked()),ui->videoDisplay,SLOT(on_playbutton_clicked()));
93  connect(ui->pausebutton,SIGNAL(clicked()),ui->videoDisplay,SLOT(on_paused_clicked()));
94  connect(ui->stopbutton,SIGNAL(clicked()),ui->videoDisplay,SLOT(on_stop_clicked()));
95 
96 
97 
98 }
99 
101 {
102  delete ui;
103 
104 }
105 
106 void videoplayer::on_playbutton_clicked()
107 {
108 
109  mediaObject->play();
110 }
111 
112 void videoplayer::on_pausebutton_clicked()
113 {
114  mediaObject->pause();
115 }
116 
117 void videoplayer::on_stopbutton_clicked()
118 {
119  mediaObject->stop();
120 ui->videoDisplay->setStyleSheet("* { background-color: rgb(0,0,0) }");
121 
122 }
123