Herkese merhaba. Bu bölümde yanda gördüğünüz gibi basit bir video player yapacağız. Bu iş için Qt'un hemen hemen her türlü multimedia işleri için kullandığı Phonon frameworkünü kullanacağız.(Ayrıntılar için bakınız ).Kısaca yazacağımız programdan bahsedeyim. Yazacağımız program sadece 3 işi yapacak. Video'yu oynatacak, duraklatacak ve durduracak. Bu işler için kabaca 3 button ve phonon frameworkü ile gelen 1 videoplayer widget'ı kullanacağız.
Programı yazmaya başlamadan önce Phonon frameworkünü kullanabilmek için "pro" uzantılı dosyamıza şu satırı ekliyoruz
QT +=phonon
İsterseniz şimdi programı yazmaya başlayalım.
#include <QtGui>
/*Ben Pardus işletim sistemi kullandığım için
Phonon kütüphanesi KDE'nin altında bulunuyor
sizinki farklı olabilir. Genelde diğer sistemlerde
sadece #include <Phonon/VideoPlayer> yeterli oluyor*/
#include <KDE/Phonon/VideoPlayer>
using namespace Phonon;
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
//videoplayer ve buttonların
//üzerinde bulunacağı widget
QWidget *parent = new QWidget();
//Burada kullanacağımız Phonon VideoPlayer nesnesini tanımlıyoruz
VideoPlayer *video = new VideoPlayer(parent);
//İzleyeceğimiz videonun yerini tanımlıyoruz.
video->load(QString("/home/mehmet/video.mpg"));
//başlat butonu
QPushButton *play = new QPushButton(parent);
play->setText("play");
play->connect(play,SIGNAL(clicked()),video,SLOT(play()));
//duraklat butonu
QPushButton *pause = new QPushButton(parent);
pause->setText("pause");
pause->connect(pause,SIGNAL(clicked()),video,SLOT(pause()));
//durdur butonu
QPushButton *stop = new QPushButton(parent);
stop->setText("stop");
stop->connect(stop,SIGNAL(clicked()),video,SLOT(stop()));
//widgetların düzgün gözükmesi için
//dikey yerleşim kullanıyorum
QVBoxLayout * vlayout = new QVBoxLayout(parent);
vlayout->addWidget(video);
vlayout->addWidget(play);
vlayout->addWidget(pause);
vlayout->addWidget(stop);
parent->setLayout(vlayout);
parent->setMinimumSize(300,300);
parent->setWindowTitle("Video Player");
parent->show();
return a.exec();
}
Artık sizinde kendinize ait video playerınız var :)