• 3581阅读
  • 1回复

[提问]phonon播放opencv生成的avi文件问题 [复制链接]

上一主题 下一主题
离线bigbigmouse
 

只看楼主 正序阅读 楼主  发表于: 2013-09-07
用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();}
离线bigbigmouse

只看该作者 1楼 发表于: 2013-09-26
在其他论坛上有人解答,Phonon调用的微软的底层,windows media player能播放的话,Phonon就能播放,装了win7 codecs就可以了。
快速回复
限100 字节
 
上一个 下一个