首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用QMediaPlayer播放电影

无法使用QMediaPlayer播放电影
EN

Stack Overflow用户
提问于 2016-12-25 14:00:35
回答 0查看 875关注 0票数 3

我尝试在OS Capitanv10.11.6上用Qt5播放电影。我使用QMediaPlayer、QMediaPlaylist和QVideoWidget进行游戏。

编写与Qt文档相同的源代码,但它只显示黑色窗口,不播放任何电影。

这是我的源代码。

main.cpp

代码语言:javascript
复制
#include <QApplication>

#include "mainwindow.h"

int main(int argc, char* argv[])
{
    QApplication app(argc, argv);

    MainWindow mainwindow;
    mainwindow.show();

    return app.exec();
}

mainwindow.h

代码语言:javascript
复制
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QWidget>

class QMediaPlayer;
class QMediaPlaylist;
class QVideoWidget;

class MainWindow : public QWidget
{
    Q_OBJECT

public:
    MainWindow(QWidget* parent = 0);

private:
    QMediaPlayer* player;
    QMediaPlaylist* playlist;
    QVideoWidget* videoWidget;
};

#endif

mainwindow.cpp

代码语言:javascript
复制
#include <QtWidgets>
#include <QMediaPlayer>
#include <QMediaPlaylist>
#include <QVideoWidget>

#include "mainwindow.h"

MainWindow::MainWindow(QWidget* parent)
    : QWidget(parent)
{
    player = new QMediaPlayer;
    playlist = new QMediaPlaylist;
    videoWidget = new QVideoWidget;

    player->setPlaylist(playlist);
    player->setVideoOutput(videoWidget);

    playlist->addMedia(QUrl::fromLocalFile("box.mp4"));

    videoWidget->show();
    playlist->setCurrentIndex(1);
    player->play();

    QHBoxLayout* mainLayout = new QHBoxLayout;
    mainLayout->addWidget(videoWidget);

    setLayout(mainLayout);
}

我检查"box.mp4“是否存在于同一目录中。

问题出在哪里?我应该如何修复源代码来解决这个问题?

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41319027

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档