【问题标题】:Player was not declared in this scope(QmediaPlayer)播放器未在此范围内声明(QmediaPlayer)
【发布时间】:2015-05-16 21:17:35
【问题描述】:

您好,我正在尝试从该站点运行示例: http://doc.qt.io/qt-5/videooverview.html 我的代码如下:

#include "mainwindow.h"
#include <QApplication>
#include <QVideoWidget>
#include <QMediaPlayer>


int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    player = new QMediaPlayer;

    playlist = new QMediaPlaylist(player);
    playlist->addMedia(QUrl("http://example.com/myclip1.mp4"));
    playlist->addMedia(QUrl("http://example.com/myclip2.mp4"));

    videoWidget = new QVideoWidget;
    player->setVideoOutput(videoWidget);

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

    return a.exec();



}

当我尝试执行它时,我得到了错误:

错误:“玩家”未在此范围内声明 播放器 = 新 QMediaPlayer; ^ /home/roman/Downloads/Dropbox/PAdI/GuiAppTest/untitled/main.cpp:15:错误:“播放列表”未在此范围内声明 播放列表 = 新 QMediaPlaylist(播放器); ^ /home/roman/Downloads/Dropbox/PAdI/GuiAppTest/untitled/main.cpp:15:错误:无效使用不完整类型'class QMediaPlaylist' 播放列表 = 新 QMediaPlaylist(播放器); ^ 我使用 Qt 5 和 QT 小部件模板。怎么了?

【问题讨论】:

  • 你的 qmake 项目文件中有QT += multimedia 吗?

标签: c++ qt qmediaplayer


【解决方案1】:

错误是正确的,你需要声明播放器和播放列表(可能在main开头):

QMediaPlayer* player;
QMediaPlaylist* playlist;

【讨论】:

    【解决方案2】:

    对不起,我刚刚了解到这些示例可能不是基于 c++ 的,因此它们不起作用...如果调整命令它会起作用

    【讨论】:

    • 是的,它是 C++。示例不是一个完整的程序,只是一个如何使用类的示例。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-20
    • 2016-08-09
    • 2019-02-17
    • 2021-01-07
    • 2016-10-27
    • 2016-06-03
    相关资源
    最近更新 更多