Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.10.2010, 13:49   #1
adr
новичек
Пользователь
 
Регистрация: 10.01.2010
Сообщений: 28
По умолчанию обложка альбома через ID3v2

как можно получить обложку альбома через ID3v2, желательно с примером для TImage. Заранее благодарен
adr вне форума Ответить с цитированием
Старый 19.10.2010, 19:54   #2
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

если работаете с bass, она умеет передавать теги, если сможете выдергивайте от туда фрейм "APIC" (attached picture)
или же идем более простым путем, т.е. через поиск ищем примерно так "ID3v2 +APIC +Delphi". есть третий способ, но он сложней. программно(т.е самому) читать по байтам. если не ошибаюсь ковер находится в начале файла, последовательность такая

Цитата:
Text encoding $xx
MIME type <text AnsiString> $00
Picture type $xx
Description <text AnsiString according to encoding> $00 (00)
Picture data <binary data>
ZuBy вне форума Ответить с цитированием
Старый 21.10.2010, 19:28   #3
adr
новичек
Пользователь
 
Регистрация: 10.01.2010
Сообщений: 28
По умолчанию

обьясните пожалуйста по подробней о способе с использованием bass.dll
adr вне форума Ответить с цитированием
Старый 21.10.2010, 23:09   #4
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

В Jedi есть модули для вытаскивания данных из ID3 обоих версий. Пробовал картинки доставать, получается.

Есть один нюанс, дело в том что картинок (обложек) может быть несколько, и не факт что она будет с тегом front cover, мне попадались файлы где картинка была не как "фронт" запихнута. Так что нужно предусмотреть все варианты, хотя чаще все же картинка одна и находится в front cover.

Цитата:
есть третий способ, но он сложней. программно(т.е самому)
Я бы не стал велосипед строить. Все уже написано до нас. Можно из Jedi вытащить нужные модули, если не хочется весь пакет ставить (он огромный, и подтормаживает среду), правда придется отвязать их от зависимостей, т.к. они включены в общую иерархию. Код хороший, удобный, один из лучших из того что я видел для ID3 на Дельфи.

Пример с использованием Jedi, на форме два мемо (для первой и второй версии), и один имидж (для CoverFront картинки), для открытия файла - процедура Open2Click. Также нужно подключить два компонента Jedi ID3 для первой и второй версии.
http://dumpz.org/23228/
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 21.10.2010 в 23:30.
mutabor вне форума Ответить с цитированием
Старый 22.10.2010, 02:45   #5
SalasAndriy
Форумчанин Подтвердите свой е-майл
 
Аватар для SalasAndriy
 
Регистрация: 01.11.2007
Сообщений: 157
По умолчанию

Цитата:
В Jedi есть модули для вытаскивания данных из ID3 обоих версий. Пробовал картинки доставать, получается.

Есть один нюанс, дело в том что картинок (обложек) может быть несколько, и не факт что она будет с тегом front cover, мне попадались файлы где картинка была не как "фронт" запихнута. Так что нужно предусмотреть все варианты, хотя чаще все же картинка одна и находится в front cover.
а как быть если картинка GIF или PNG?

у меня вот что выдает:
Цитата:
---------------------------
Debugger Exception Notification
---------------------------
Project Project1.exe raised exception class EInvalidGraphic with message 'Unknown picture file extension (.png)'.
---------------------------
Break Continue Help
---------------------------
Цитата:
---------------------------
Debugger Exception Notification
---------------------------
Project Project1.exe raised exception class EInvalidGraphic with message 'Unknown picture file extension (.gif)'.
---------------------------
Break Continue Help
---------------------------
Такое выбрасывает при загрузке самого тега... как быть?

Добавлено:

Всё, разобрался)) Протупил короче)) Просто в Uses нужно подключить соответствующие модули PngImage, Jpeg, GIFImg!

Последний раз редактировалось SalasAndriy; 22.10.2010 в 03:05.
SalasAndriy вне форума Ответить с цитированием
Старый 22.10.2010, 12:33   #6
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
Сообщение от SalasAndriy Посмотреть сообщение
Всё, разобрался)) Протупил короче)) Просто в Uses нужно подключить соответствующие модули PngImage, Jpeg, GIFImg!
Ну еще было бы не лишним сказать, что версия Дельфи должна быть не ниже 2009 (кажется, в общем из новых)
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 23.10.2010, 21:19   #7
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

Цитата:
Сообщение от adr Посмотреть сообщение
обьясните пожалуйста по подробней о способе с использованием bass.dll
в оч скором будущем будет представлена реализация, опен сорс
ZuBy вне форума Ответить с цитированием
Старый 26.08.2011, 10:28   #8
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

ребят все таки я не понел как открыть обложку альбома?
Кольша вне форума Ответить с цитированием
Старый 26.08.2011, 11:39   #9
notHaker
Форумчанин
 
Аватар для notHaker
 
Регистрация: 01.12.2009
Сообщений: 569
По умолчанию

ОффТоп. ZuBy, а чем твой плеер zubymplayer отличается от AIMP?

Цитата:
Я бы не стал велосипед строить. Все уже написано до нас.
Эмм. Тут и строить то нечего. Это таки не декодер.

Цитата:
Всё, разобрался)) Протупил короче)) Просто в Uses нужно подключить соответствующие модули PngImage, Jpeg, GIFImg!
А если я в тег TIFF запихну? Или DDS?
Код - это работа, а работа стоит денег.

pz-game.ru. 2d зомби-сурвивал для олдфагов.
notHaker вне форума Ответить с цитированием
Старый 26.08.2011, 13:52   #10
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

Цитата:
Сообщение от notHaker Посмотреть сообщение
ОффТоп. ZuBy, а чем твой плеер zubymplayer отличается от AIMP?
я зачем их сравнивать? каждый плеер по своему уникален!

Цитата:
А если я в тег TIFF запихну? Или DDS?
Если плеер нормальный он тебе не даст этого сделать, т.к. во фрейм APIC допустимы только эти расширения
Цитата:
{ Cover MIME extensions }
QBASS_EXT_GIF = '/gif';
QBASS_EXT_JPG = '/jp'; // jpeg, jpg
QBASS_EXT_PNG = '/png';
QBASS_EXT_ICO = '/ico';
QBASS_EXT_BMP = '/bmp';
QBASS_EXT_WMF = '/wmf';
QBASS_EXT_EMF = '/emf';
ZuBy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ID3v2 в delphi darts116 Помощь студентам 2 22.06.2010 12:07
ID3v2 и Delphi 2010 fuss Мультимедиа в Delphi 6 19.05.2010 22:08
как вытянуть картинку альбома из аудио файла? blackstersl Общие вопросы Delphi 1 08.06.2009 15:25
Связь с кучей dbf файлов (таблиц) через OLEDB через UNION ALL Sasha811 SQL, базы данных 0 01.01.2009 14:04
Работа с тэгом ID3v2 rush_13 Общие вопросы C/C++ 3 04.02.2007 12:12