Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt QGraphicsView不播放任何视频_Qt_Qgraphicsview_Qmediaplayer - Fatal编程技术网

Qt QGraphicsView不播放任何视频

Qt QGraphicsView不播放任何视频,qt,qgraphicsview,qmediaplayer,Qt,Qgraphicsview,Qmediaplayer,我有一个非常简单的Qt5.11.0应用程序,带有一个图形视图,我想在其中播放视频 这是我的代码,它编译、加载并显示一个空白的图形视图 #include "Demo_TeleLink.h" Demo_TeleLink::Demo_TeleLink(QWidget *parent) : QMainWindow(parent) { ui.setupUi(this); scene = new QGraphicsScene; player = new QMediaPl

我有一个非常简单的Qt5.11.0应用程序,带有一个图形视图,我想在其中播放视频

这是我的代码,它编译、加载并显示一个空白的图形视图

#include "Demo_TeleLink.h"


Demo_TeleLink::Demo_TeleLink(QWidget *parent)
    : QMainWindow(parent)
{
    ui.setupUi(this);

    scene = new QGraphicsScene;
    player = new QMediaPlayer();
    videoItem = new QGraphicsVideoItem;
    newString = "C://Users//Chris//Desktop//Sample1.mp4";

    ui.graphicsView->setScene(scene);

    player->setVideoOutput(videoItem);

    ui.graphicsView->scene()->addItem(videoItem);

    player->setMedia(QUrl(newString));

    ui.graphicsView->fitInView(videoItem);

    player->play();
}
如果需要,所有必需的对象都在标题中声明为点

由于未推导出指示其为本地文件的方案文件,因此
QUrl(“/path/of/video”)
不是有效的url,有两种可能的解决方案:

player->setMedia(QUrl::fromLocalFile(newString));

player->setMedia(QUrl::fromUserInput(newString));
可能路径编码不正确,请尝试使用以下代码并手动选择视频

newString = QFileDialog::getOpenFileName(this,
                                         tr("Open Video"),
                                         QDir::homePath(),
                                         tr("Video Files (*.mp4)"));
OP表示它获得以下错误消息:

DirectShowPlayerService::doRender: Unresolved error code 0x80040266 (IDispatch error #102)

根据报道,解决方案是安装编解码器从

播放mp4嘿,谢谢你的回答,遗憾的是,无论我在那里使用哪个选项,仍然是一个空白窗口。@Chris你在Qt Creator的“应用程序输出”选项卡中收到错误消息了吗?这正在运行VS@Chris我不与VS合作,可能有一个类似于该信息的选项卡,如果没有,那么打开一个cmd并从那里运行.exe,您肯定会收到一条错误消息。我将子系统切换到控制台,以便打印调试,并且有一个错误代码。DirectShowPlayerService::doRender:未解析的错误代码0x80040266(IDispatch错误#102)