|
1Qter豆
用opencv函数从摄像头采集视频并保存为avi文件,无压缩格式
现用QT的phonon播放,可是一直是黑屏没有反应,请问是什么原因,是否缺什么库?播放一般的avi文件是可以的。
播放器代码就是最基本的代码,如下:
#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("D:/Save_Video/20130906135128.avi")); 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();} |
最佳答案
查看完整内容
windows不装插件的话,只能播放几种格式,你装个解码器插件就能支持多格式的了
记住,微软自带的windows media player能播放该文件,Phonon就能播放
|