这里只是做简单的测试,功能简单,代码如下:
QVBoxLayout *layout = new QVBoxLayout;
QVideoWidget* vw = new QVideoWidget();
layout->addWidget(vw);
ui->widget->setLayout(layout);
player=new QMediaPlayer();
player->setVideoOutput(vw);
QFile file("1.mp4");
if(!file.open(QIODevice::ReadOnly))
qDebug() << "Could not open file";
player->setMedia(QUrl::fromLocalFile("1.mp4"));
player->play();
以上代码播放音频没有问题,在播放视频时出现 DirectShowPlayerService::doRender: Unresolved error code 0x80040266 ()
参照网上的解决方案,安装LAV Filters后问题解决,我的win10可以安装下面这个文件LAV Filters download
安装后就能够正常播放音频和视频了,另外QT工程文件中要添加QT += multimedia multimediawidgets