c++ 如何将PLS文件保存在QMediaPlaylist而不是m3u中

xpszyzbs  于 2023-06-25  发布在  其他
关注(0)|答案(1)|浏览(198)

实际上,我尝试在QTCreator中将播放列表保存为多种格式。
QTCreator保存和加载m3 u格式没有问题。
它要么加载了一个我手工编写的.pls文件,但它不能保存类似的pls格式(它创建了一个空的“playlst.pls”)。
我使用了本手册中的示例:http://doc.qt.io/qt-5/qmediaplaylist.html#save
代码保存播放列表在pls格式,文件创建,但空。

  1. MainWindow::MainWindow(QWidget *parent) :
  2. QMainWindow(parent),
  3. ui(new Ui::MainWindow)
  4. {
  5. ui->setupUi(this);
  6. // Player setting
  7. player = new QMediaPlayer;
  8. connect(player, SIGNAL(positionChanged(qint64)),
  9. this, SLOT(positionChanged(qint64)));
  10. player->setMedia(QUrl::fromLocalFile("/home/batfly/MilkyWay.mp3"));
  11. player->setVolume(50);
  12. player->play();
  13. // Configure playlist:
  14. playlist = new QMediaPlaylist;
  15. playlist->addMedia(QUrl("file:///home/batfly/MilkyWay.mp3"));
  16. playlist->addMedia(QUrl("file:///home/batfly/Gurdil.mp3"));
  17. playlist->addMedia(QUrl("file:///home/batfly/OwenWasHere.mp3"));
  18. playlist->setCurrentIndex(1);
  19. // Set playlist on player:
  20. player = new QMediaPlayer;
  21. player->setPlaylist(playlist);
  22. // Save playlist:
  23. playlist->save(QUrl::fromLocalFile
  24. ("/home/batfly/playlisttest.pls"),"pls");
  25. videoWidget = new QVideoWidget;
  26. player->setVideoOutput(videoWidget);
  27. videoWidget->show();
  28. player->play();
  29. }

问题出在哪里?QTCreator无法保存为pls格式,还是我忘记了什么?
谢谢你!
PS:我添加更多关于我的问题的信息:我在Linux(Debian 9.X)工作。- 我使用QTCreator 4.2,最后一个版本实际上有一些bug,所以我不更新和龙骨的apt安装版本的Debian。

wf82jlnq

wf82jlnq1#

把我的评论作为答案更准确。我这样做是为了结束这个老问题,并将其作为答案显示出来。毕竟,自2019年以来,QT并没有进化,所以这个答案依然有效:
经过更深的观察(和别人的帮助):
文件 * QMediaPlaylist.cpp * 中的save函数显示了取决于插件的格式参数。
我试图获取插件文件夹,我看到一个 * libqtmultimedia_m3u.so playlistformat * 文件夹的唯一文件,但没有任何 * libqtmultimedia_pls. so * 插件。
我找不到这个文件或其他格式从互联网上...
结论:QTCreator不能保存除m3u以外的任何其他格式,至少在2019年。* plsCreator * 文件是我自己做的。

相关问题