Quantcast
Channel: CSDN博客推荐文章
Viewing all articles
Browse latest Browse all 35570

QT 简单的视频播放器phonon

$
0
0

这短代码在win7下面是可以播放视频的,在xp下面有点问题,本人也正在努力的解决这个问题呢,有点纠结,我先把这短copy

来的代码跟大家分享一下吧

Phonon的基础定义(注意,引入Phonon类需要在工程文件添加 QT += phonon

#include <QApplication>
#include <QWidget>
#include <phonon>
#include <QUrl>
#include <QObject>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QLabel>

int main(int argc, char *argv[]) {
QApplication app(argc, argv);

QWidget *widget = new QWidget;
widget->setWindowTitle("Media Player");
widget->resize(400,400);

Phonon::MediaObject *media = new Phonon::MediaObject;
media->setCurrentSource(Phonon::MediaSource("../Puppet.mpg"));//路径相对不行就用绝对的,注意斜杠不要弄错了

Phonon::VideoWidget *vwidget = new Phonon::VideoWidget(widget);
Phonon::createPath(media, vwidget);
vwidget->setAspectRatio(Phonon::VideoWidget::AspectRatioAuto);
Phonon::AudioOutput *aOutput = new Phonon::AudioOutput(Phonon::VideoCategory);
Phonon::createPath(media, aOutput);

QLabel *label = new QLabel("Volume: ");
Phonon::VolumeSlider *volumeSlider = new Phonon::VolumeSlider;
volumeSlider->setAudioOutput(aOutput);
volumeSlider->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);

Phonon::SeekSlider *seekSlider = new Phonon::SeekSlider;
seekSlider->setMediaObject(media);

QHBoxLayout *hLayout = new QHBoxLayout;
hLayout->addWidget(label);
hLayout->addWidget(volumeSlider);
hLayout->addStretch();

QVBoxLayout *vLayout = new QVBoxLayout;
vLayout->addWidget(vwidget);
vLayout->addWidget(seekSlider);
vLayout->addLayout(hLayout);
widget->setLayout(vLayout);

widget->show();
media->play();
return app.exec();
}

我在用的时候,视频我用的是绝对路径,可以播放的,还有路径的时候,斜杠不要用错。

这短代码很经典,win7下可以用的,能播放出来视频。xp有点问题,待解决
作者:aile770339804 发表于2013-3-16 23:11:18 原文链接
阅读:63 评论:0 查看评论

Viewing all articles
Browse latest Browse all 35570

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>