【发布时间】:2019-03-16 16:26:04
【问题描述】:
我从 C++ 开始,我正在尝试使用 Qt 播放 mp3 文件。我写了这段代码,但由于某种原因它不起作用。我已经搜索了互联网,但找不到有用的东西。
这是我的代码:
#include <iostream>
#include <QMediaPlayer>
#include <QMediaPlaylist>
#include <QFileInfo>
#include <QUrl>
int main()
{
QMediaPlaylist *list = new QMediaPlaylist;
list->addMedia(QUrl::fromLocalFile(QFileInfo("Filename.mp3").absoluteFilePath()));
QMediaPlayer *music;
music = new QMediaPlayer();
music->setPlaylist(list);
music->play();
return 0;
}
没有音乐播放,这个程序的输出是:
QObject::startTimer:定时器只能用于以 QThread 启动的线程
QObject::startTimer:定时器只能用于以 QThread 启动的线程
这是我的.pro 文件:
TEMPLATE = app
TARGET = MediaPlayer
QT += core multimedia
SOURCES += main.cpp
环境:
Fedora 29
Qt 5.11.3-1
我试图在 Qt creator 和终端上运行这个程序。
【问题讨论】:
-
使用:
int main(int argc, char *argv[]) { QGuiApplication app(argc, argv); QMediaPlaylist *list = new QMediaPlaylist; list->addMedia(QUrl::fromLocalFile(QFileInfo("Filename.mp3").absoluteFilePath())); QMediaPlayer *music; music = new QMediaPlayer(); music->setPlaylist(list); music->play(); return app.exec(); } -
@eyllanesc 谢谢,成功了!
标签: c++ qt qmediaplayer