实际上,我尝试在QTCreator中将播放列表保存为多种格式。
QTCreator保存和加载m3 u格式没有问题。
它要么加载了一个我手工编写的.pls文件,但它不能保存类似的pls格式(它创建了一个空的“playlst.pls”)。
我使用了本手册中的示例:http://doc.qt.io/qt-5/qmediaplaylist.html#save
代码保存播放列表在pls格式,文件创建,但空。
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
// Player setting
player = new QMediaPlayer;
connect(player, SIGNAL(positionChanged(qint64)),
this, SLOT(positionChanged(qint64)));
player->setMedia(QUrl::fromLocalFile("/home/batfly/MilkyWay.mp3"));
player->setVolume(50);
player->play();
// Configure playlist:
playlist = new QMediaPlaylist;
playlist->addMedia(QUrl("file:///home/batfly/MilkyWay.mp3"));
playlist->addMedia(QUrl("file:///home/batfly/Gurdil.mp3"));
playlist->addMedia(QUrl("file:///home/batfly/OwenWasHere.mp3"));
playlist->setCurrentIndex(1);
// Set playlist on player:
player = new QMediaPlayer;
player->setPlaylist(playlist);
// Save playlist:
playlist->save(QUrl::fromLocalFile
("/home/batfly/playlisttest.pls"),"pls");
videoWidget = new QVideoWidget;
player->setVideoOutput(videoWidget);
videoWidget->show();
player->play();
}
问题出在哪里?QTCreator无法保存为pls格式,还是我忘记了什么?
谢谢你!
PS:我添加更多关于我的问题的信息:我在Linux(Debian 9.X)工作。- 我使用QTCreator 4.2,最后一个版本实际上有一些bug,所以我不更新和龙骨的apt安装版本的Debian。
1条答案
按热度按时间wf82jlnq1#
把我的评论作为答案更准确。我这样做是为了结束这个老问题,并将其作为答案显示出来。毕竟,自2019年以来,QT并没有进化,所以这个答案依然有效:
经过更深的观察(和别人的帮助):
文件 * QMediaPlaylist.cpp * 中的
save
函数显示了取决于插件的格式参数。我试图获取插件文件夹,我看到一个 * libqtmultimedia_m3u.so , playlistformat * 文件夹的唯一文件,但没有任何 * libqtmultimedia_pls. so * 插件。
我找不到这个文件或其他格式从互联网上...
结论:QTCreator不能保存除m3u以外的任何其他格式,至少在2019年。* plsCreator * 文件是我自己做的。