QMediaPlaylist和UTF-8

时间:2017-01-05 03:19:14

标签: qt encoding utf-8 qt5 m3u

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

正如您在屏幕截图中看到的,第一个条目的路径以D:/D/Media/New folder/开头,这是播放列表的路径,后跟,后跟媒体文件的相对路径,因为它iis保存在* 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("");
    }
}

enter image description here

* 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

1 个答案:

答案 0 :(得分:1)

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