0

我无法使用 -encoding 加载 * m3u-playlistfilesUTF-8QMediaPlaylist. 第一个条目的路径未正确加载。

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

使用带有ANSI-encoding 的 *m3u-files 我没有这些麻烦。

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

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

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
4

1 回答 1

1

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

于 2017-01-05T08:41:32.037 回答