Russian Qt Forum
Февраль 10, 2012, 15:44
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Мультимедиа
(Модератор:
Sergeich
) >
как в qt 4 прочитать метаданные аудио файлов
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: как в qt 4 прочитать метаданные аудио файлов (Прочитано 1819 раз)
HolyMacaroni
Гость
как в qt 4 прочитать метаданные аудио файлов
«
:
Май 31, 2010, 01:51 »
здравствуйте, как с помощью qt 4 прочитать метаданные аудио файлов, название, альбом, жанр, и все такое.
http://ru.wikipedia.org/wiki/ID3v2#ID3v2
нынешний формат ID3v2
www.id3.org
английский к сожалению не знаю.
«
Последнее редактирование: Май 31, 2010, 02:22 от HolyMacaroni
»
Записан
HolyMacaroni
Гость
Re: как в qt 4 прочитать метаданные аудио файлов
«
Ответ #1 :
Июнь 03, 2010, 01:44 »
не знаю в чем ошибка, программа не возвращает теги ogg, но проигрывает трек, появляется просто пустое окно.
теги в файле присутствуют.
Код:
#include <QApplication>
#include <phonon>
#include <QtGui>
// ----------------------------------------------------------------------
int main(int argc, char** argv)
{
QApplication app(argc, argv);
app.setApplicationName("SimplePlayer");
Phonon::MediaObject media;
Phonon::AudioOutput ao(Phonon::MusicCategory);
Phonon::createPath(&media, &ao);
QObject::connect(&media, SIGNAL(finished()), &app, SLOT(quit()));
media.setCurrentSource(Phonon::MediaSource("music/Morcheeba.ogg"));
QStringList MetaData = media.metaData("ARTIST");
MetaData = media.metaData("ALBUM");
MetaData = media.metaData("TITLE");
MetaData = media.metaData("DATE");
QLabel lbl(MetaData.join(" "));
lbl.show();
media.play();
return app.exec();
}
Записан
HolyMacaroni
Гость
Re: как в qt 4 прочитать метаданные аудио файлов
«
Ответ #2 :
Июнь 03, 2010, 16:08 »
неужели ни кто не знает
Записан
ufna
Супер активный житель
Online
Сообщений: 792
Re: как в qt 4 прочитать метаданные аудио файлов
«
Ответ #3 :
Июнь 03, 2010, 18:00 »
а может быть даты нет в этом файле? у тебя только она на лейбл ловится, остальнео все побоку идет, ты же лист не аппендишь.
Записан
Никогда не знаешь где тебе повезет...
ufna, поменял бы ты ник, что ли, а то я все время забываю, что ты не дефка... нах
(c) J
лажу на басу только басисты слышат!
Авварон
phpBB Neo
Offline
Сообщений: 1778
Re: как в qt 4 прочитать метаданные аудио файлов
«
Ответ #4 :
Июнь 03, 2010, 18:40 »
Медиа инфо в винде считывается только после прихода сигнала (сначала медиа сорс буферизуется, потом с ним можно работать). Смотрите примеры.
Записан
HolyMacaroni
Гость
Re: как в qt 4 прочитать метаданные аудио файлов
«
Ответ #5 :
Июнь 03, 2010, 20:59 »
Цитата: ufna от Июнь 03, 2010, 18:00
а может быть даты нет в этом файле? у тебя только она на лейбл ловится, остальнео все побоку идет, ты же лист не аппендишь.
инфа в файле есть, изитегом туда ее сам заносил:).
Цитата: Авварон от Июнь 03, 2010, 18:40
Медиа инфо в винде считывается только после прихода сигнала (сначала медиа сорс буферизуется, потом с ним можно работать). Смотрите примеры.
где смотреть примеры
у меня либо гугл сломался или одно из двух, уже второй день ищу или третий.
«
Последнее редактирование: Июнь 03, 2010, 21:12 от HolyMacaroni
»
Записан
HolyMacaroni
Гость
Re: как в qt 4 прочитать метаданные аудио файлов
«
Ответ #6 :
Июнь 04, 2010, 02:05 »
все, сделал.
Код:
#include <QApplication>
#include <phonon>
#include <QtGui>
#include <QtCore/QtDebug>
// ----------------------------------------------------------------------
int main(int argc, char** argv)
{
QApplication app(argc, argv);
app.setApplicationName("SimplePlayer");
Phonon::MediaObject media;
Phonon::AudioOutput ao(Phonon::MusicCategory);
Phonon::createPath(&media, &ao);
QObject::connect(&media, SIGNAL(finished()), &app, SLOT(quit()));
QObject::connect(&media, SIGNAL(metaDataChanged()), &app, SLOT(quit()));
media.setCurrentSource(Phonon::MediaSource(app.arguments()[1]));
app.exec();
QStringList MetaData = media.metaData(Phonon::ArtistMetaData);
MetaData << media.metaData(Phonon::AlbumMetaData);
MetaData << media.metaData(Phonon::TitleMetaData);
MetaData << media.metaData(Phonon::DateMetaData);
qDebug() << MetaData;
media.play();
return app.exec();
}
Записан
HolyMacaroni
Гость
Re: как в qt 4 прочитать метаданные аудио файлов
«
Ответ #7 :
Июнь 21, 2010, 10:02 »
Снова здравствуйте, теперь новый вопрос
, как синхронизировать асинхронный метод
media.setCurrentSource(Phonon::MediaSource(app.arguments()[1]));
с остальным кодом, так как он сразу же возвращает управление после вызова, а данные можно читать только после сигнала metaDataChanged(). Мне необходимо в цикле считывать метаданные с разных источников.
Записан
crossly
phpBB Житель матрицы
Offline
Сообщений: 1277
Re: как в qt 4 прочитать метаданные аудио файлов
«
Ответ #8 :
Июнь 21, 2010, 10:27 »
можно с помощью QEventLoop смотри доки....
Записан
нет препятствий патриотам... нет преград энтузиастам...
HolyMacaroni
Гость
Re: как в qt 4 прочитать метаданные аудио файлов
«
Ответ #9 :
Июнь 21, 2010, 13:19 »
спасибо получилось
использовал QEventLoop::exec()/quit()
«
Последнее редактирование: Июнь 21, 2010, 14:38 от HolyMacaroni
»
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> Печать
=> Интернационализация, локализация
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
=> Архив
===> Программирование
=====> Python
===> Веб программирование
=====> PHP, PERL, CGI
Загружается...