QT中带有QMediaPlaylist的播放列表

时间:2019-01-30 01:12:55

标签: c++ qt

我用QT编写的播放列表有问题。

我有一个小功能,可以加载mp3文件并使用以下代码在播放列表中打印此歌曲的名称:

moment.duration("PT24H")

使用此代码,我的播放列表在1行中仅包含1个字母,这是一个问题。 当我将QString更改为QStringList(可以使用)时,出现错误:

void MainWindow::on_addButton_clicked()
{
    QString files = QFileDialog::getOpenFileName(this, tr("Open Files"), "QString()", tr("Audio Files (*.mp3)"));

    qDebug() << player->errorString();
    player->setMedia(QUrl::fromLocalFile(files));
    player->setVolume(ui->volumeSlider->value());

    on_playButton_clicked();

    foreach (QString filePath, files) {
        QList<QStandardItem*> items;
        items.append(new QStandardItem(QDir(filePath).dirName()));
        items.append(new QStandardItem(filePath));
        playListModel->appendRow(items);
        playlist->addMedia(QUrl(filePath));
    }
}

如何更改它以解决我的问题? 另外,第二个问题是我获得带有歌曲名称的完整目录名称,而我只想获得歌曲名称。

我将很高兴获得任何帮助。

1 个答案:

答案 0 :(得分:0)

使用getOpenFileNames()代替getOpenFileName()