Qt应用程序断言在第二次启动时失败
再次尝试在QGraphicsView中显示视频。现在我在第二次应用程序启动后出现断言失败:Qt应用程序断言在第二次启动时失败,qt,qgraphicsview,assertion,Qt,Qgraphicsview,Assertion,再次尝试在QGraphicsView中显示视频。现在我在第二次应用程序启动后出现断言失败: 在文件player\mfvideorendercontrol.cpp的第2346行断言:“m_surface” 这是我的密码: pl = new QMediaPlayer(); vid = new QGraphicsVideoItem(); pl->setVideoOutput(vid); qDebug() << pl->error(); vid->setSize( QSi
在文件player\mfvideorendercontrol.cpp的第2346行断言:“m_surface”
这是我的密码:
pl = new QMediaPlayer();
vid = new QGraphicsVideoItem();
pl->setVideoOutput(vid);
qDebug() << pl->error();
vid->setSize( QSizeF(1920, 1080) );
vid->setPos(QPointF(-500,-500));
pl->setMedia( QUrl::fromLocalFile( path ) );
qDebug() << pl->error();
ui->graphicsView->scene()->addItem(vid);
ui->graphicsView->setFixedSize(1920, 1080);
qDebug() << pl->error();
pl->play();
pl=newqmediaplayer();
vid=新的QGraphicsVideoItem();
pl->设置视频输出(vid);
qDebug()错误();
视频->设置大小(QSizeF(19201080));
视频->设置位置(QPointF(-500,-500));
pl->setMedia(QUrl::fromLocalFile(path));
qDebug()错误();
用户界面->图形视图->场景()->附加项(视频);
ui->graphicsView->setFixedSize(19201080);
qDebug()错误();
pl->play();
我用*.avi和*.mp4文件进行了测试。同样的问题。以下是步骤:
- 我正在将avi文件放入路径中
- 构建/启动应用程序
- 一切都很好。录像作品
- 关闭应用程序,再启动一次
- 断言失败
- 将路径中的文件更改为mp4
- 构建/启动应用程序
- 一切又好起来了
- 等等
Skip
,一切都会恢复正常
提前谢谢。找到了解决方案。当调用set media时,有一种可能性,那就是此时并没有初始化播放器所需的所有内容。解决方案是添加类似于
QTimer::singleShot(1000,这个,SLOT(initAndPlayVideo())代码>或将此插槽放在某个按钮上单击