各位大虾好, 我用qt
phonon写了个测试
视频播放的例子, 视频
文件格式是MPG格式的, 分辨率是512*384的, 我的虚拟机是1024*768的, 在虚拟机上跑没
问题, 视频可在全屏, 但我放到嵌入板子上就不会放大了, 还是原来那么大(即512*384),不是1024*768。
下面是全部代码:
- #include <QApplication>
- #include <QWidget>
- #include <phonon>
- /*
- #include <phonon/VideoWidget>
- #include <phonon/MediaObject>
- #include <phonon/VideoPlayer>
- #include <phonon/BackendCapabilities>
- #include <phonon/AudioOutput>
- #include <phonon/VolumeSlider>
- #include <phonon/SeekSlider>
- */
- #include <QUrl>
- #include <QObject>
- #include <QVBoxLayout>
- #include <QHBoxLayout>
- #include <QLabel>
- int main(int argc, char *argv[])
- {
- QApplication app(argc, argv);
- app.setApplicationName("video player");
- /*
- QWidget *mainWidget = new QWidget;
- mainWidget->setWindowTitle("Media Player");
- mainWidget->resize(1024, 768);
- mainWidget->setAutoFillBackground(true);
- mainWidget->setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog);
- */
- Phonon::MediaObject *mediaObject= new Phonon::MediaObject;
- mediaObject->setCurrentSource(Phonon::MediaSource("/home/ljTest/video2/aa.MPG"));
- Phonon::VideoWidget *videoWidget = new Phonon::VideoWidget;
- Phonon::createPath(mediaObject, videoWidget);
- videoWidget->setAspectRatio(Phonon::VideoWidget::AspectRatioAuto);
- // videoWidget->setScaleMode(Phonon::VideoWidget::ScaleAndCrop);
- videoWidget->setFullScreen(true);
- videoWidget->setGeometry(0, 0, 320, 240);
- QSize videoSize = videoWidget->sizeHint();
- printf("%d %d\n", videoSize.width(), videoSize.height());
- Phonon::AudioOutput *audioOutput = new Phonon::AudioOutput(Phonon::VideoCategory);
- Phonon::createPath(mediaObject, audioOutput);
- /*
- QLabel *label = new QLabel("Volume: ");
- Phonon::VolumeSlider *volumeSlider = new Phonon::VolumeSlider;
- volumeSlider->setAudioOutput(audioOutput);
- volumeSlider->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
- Phonon::SeekSlider *seekSlider = new Phonon::SeekSlider;
- seekSlider->setMediaObject(mediaObject);
- */
- // QHBoxLayout *hLayout = new QHBoxLayout;
- // hLayout->addWidget(label);
- // hLayout->addWidget(volumeSlider);
- // hLayout->addStretch();
- // QVBoxLayout *vLayout = new QVBoxLayout;
- // vLayout->addWidget(videoWidget);
- // vLayout->addWidget(seekSlider);
- // vLayout->addLayout(hLayout);
- // mainWidget->setLayout(vLayout);
- // mainWidget->show();
- mediaObject->play();
- return app.exec();
- }
- 请各位帮帮忙