Плейлист с QMediaPlaylist в QT - PullRequest
       1

Плейлист с QMediaPlaylist в QT

0 голосов
/ 30 января 2019

У меня проблема с моим списком воспроизведения, написанным на QT.

У меня есть небольшая функция для загрузки mp3-файла и печати названия этой песни в моем списке воспроизведения со следующим кодом:

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 букву в 1 строке.Когда я изменяю QString на QStringList (который будет работать), я получаю ошибку:

error: conversion from ‘QString’ to non-scalar type ‘QStringList’ requested
     QStringList files = QFileDialog::getOpenFileName(this, tr("Open Files"), "QString()", tr("Audio Files (*.mp3)"));

Как я могу изменить его, чтобы решить мою проблему?Также вторая проблема заключается в том, что я получаю полное имя каталога с названием песни, и я хотел бы получить только название песни.

Буду очень рад любой помощи.

1 Ответ

0 голосов
/ 30 января 2019

Используйте getOpenFileNames () вместо getOpenFileName ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...