Qt视频播放器播放视频间歇出现0x8007000e报错
环境
- win7 32
- Qt 5.10
问题描述
在Debug模式运行代码时,视频播放 player->play(); //开始播放视频 有些视频会出现报错:
DirectShowPlayerService::doPlay: Unresolved error code 0x8007000e
问题解决过程:
先说结论:换成Release模式这个错误消失了。。
原因分析
似乎和内存有关系(win10的电脑没有这个问题),然而运行代码时任务管理器内存占用只有50%就很迷惑了。
部分代码
player = new QMediaPlayer(this); //用于解析视频流的媒体播放器
videowidget = new QVideoWidget(this); //用于播放视频
layout = new QHBoxLayout(this); //用于指定视频播放的位置
player->setVideoOutput(videowidget); //设置视频输出附加到媒体播放器
videowidget->resize(ui->vilabel->size()); //把视频输出图像的大小重新调整为label的大小
//指定视频播放的位置
layout->addWidget(videowidget); //布局
ui->vilabel->setLayout(layout);
QString spath=QString("file:///%1/../../../video/pos/%2.wmv").arg(QCoreApplication::applicationDirPath()).arg(m_nVideoIndex);
player->setMedia(QUrl(spath));
player->play();