Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > Qt. Аудио-плеер. Проблема с плейлистом.


Автор: maks991 17.12.2010, 18:04
Итак, во-первых, есть такая функция:

Код

void MainWindow::addFileAction()
{
    QStringList fileNames = QFileDialog::getOpenFileNames(
        this,
        tr("Open Audio File"),
        QDesktopServices::storageLocation(QDesktopServices::MusicLocation),
        tr("Audio Files (*.mp3 *.wav)"));

    if (fileNames.empty())
    {
        return;
    }

    foreach (QString fileName, fileNames)
    {
        metaInformator->setCurrentSource(MediaSource(fileName));
        QMap<QString, QString> metaData = metaInformator->metaData();

        QString title = metaData.value("TITLE");
        QString artist = metaData.value("ARTIST");
        QString album = metaData.value("ALBUM");

        int n = playlistTable->rowCount();
        playlistTable->insertRow(n);
        QTableWidgetItem *titleItem = new QTableWidgetItem(title);
            titleItem->setFlags(titleItem->flags() ^ Qt::ItemIsEditable);
        QTableWidgetItem *artistItem = new QTableWidgetItem(artist);
            artistItem->setFlags(artistItem->flags() ^ Qt::ItemIsEditable);
        QTableWidgetItem *albumItem = new QTableWidgetItem(album);
            albumItem->setFlags(albumItem->flags() ^ Qt::ItemIsEditable);

        playlistTable->setItem(n, 0, titleItem);
        playlistTable->setItem(n, 1, artistItem);
        playlistTable->setItem(n, 2, albumItem);
    }
}


Итак. Например, я в диалоге выбора файла выбираю файл music1.mp3, нажимаю открыть. В таблице playlistTable добавляется одна пустая строка. Затем выбираю три файла каких-нибудь - мне добавляется 3 строки, НО в каждой из них находятся теги файла misic1.mp3 ! Ничего не понимаю.
Я проверял, выводил значения списка fileNames, все строки там нормально добавляются. Вобщем я нашёл такой косяк, что какая-то фигня с извлечением тегов...помогите, пожалуйста, решить проблему. Заранее спасибо.
metaInformator - это объект класса MediaObject из модуля Phonon.

Добавлено через 3 минуты и 9 секунд
Короче говоря, когда я загружаю файл первый, теги вообще не извлекаются...мне эта мапа выдаёт пустые строки по указанным ключам :(

Автор: maks991 17.12.2010, 19:59
Всё, сделал. Вопрос закрыт.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)