QMediaPlaylist 和 UTF-8

QMediaPlaylist and UTF-8

我无法加载 *m3u-播放列表文件 UTF-8-编码 QMediaPlaylist。 第一个条目的路径未正确加载。

正如您在屏幕截图中看到的那样,第一个条目的路径以 D:/D/Media/New folder/ 开头,这是播放列表的路径,然后是 ,然后是媒体文件的相对路径因为它保存在 *m3u 文件中。

使用 ANSI 编码的 *m3u 文件我没有这些麻烦。

在这种情况下(第二个条目),像“ü”这样的字符也没有正确编码。

有没有办法在不编写我自己的播放列表解析器的情况下解决这个问题?

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    QDirIterator it("D:/D/Media/New folder", QStringList() << "*.m3u", QDir::Files, QDirIterator::Subdirectories);
    while (it.hasNext())
    {
        it.next();
        QMediaPlaylist currentPlaylist;
        currentPlaylist.clear();
        currentPlaylist.load(QUrl::fromLocalFile(it.filePath()));
        currentPlaylist.setCurrentIndex(0);
        int x = 1;
        ui->textBrowser->append(it.fileName());
        ui->textBrowser->append("-----");
        while(currentPlaylist.mediaCount() > 0)
        {
            ui->textBrowser->append(QString::number(x) + QString(": ") + currentPlaylist.currentMedia().canonicalUrl().toString());
            x++;
            currentPlaylist.removeMedia(0);
        }
        ui->textBrowser->append("");
    }
}

*m3u-内容

..\Musik\Mittelalter Party\Mittelalter Party Volume 1\Tanzwut - Meer.mp3
..\Musik\ASP\Humility\ASP - Küss mich (Chamber version).mp3
..\Musik\Disturbed\Ten Thousand Fists\Disturbed - Ten Thousand Fists.mp3

维基百科说 UTF-8 编码的播放列表应该有一个 .m3u8 扩展名。您是否尝试过将文件扩展名更改为 .m3u8?