|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
12.04.2017, 15:57 | #1 |
Форумчанин
Регистрация: 10.02.2014
Сообщений: 526
|
Артист и название mp3-файла - есть не замороченный способ?
Здравствуйте!
Есть список mp3-файлов. У них есть и теги Артист и Название, и в расширенных свойствах файла (вкладка "Подробно" у свойств файла) есть эта информация. Есть ли возможность как-то вытащить эти два поля без модулей типа ID3V2 (к тому же у меня D7, а там от 2009)? Либо из тегов, либо из свойств файла - без разницы. На всякий случай: инфа в тегах только в ID3v2 и отсутствует в ID3v1 |
12.04.2017, 16:04 | #2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Без проблема. Теги описаны, спеку в руки и вычитывайте как хотите...
|
12.04.2017, 16:06 | #3 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Не замороченный способ - это самостоятельно, без стороннего ПО? Конечно есть. Изучить тщательно структуру mp3 и самостоятельно прочитать из файла нужную информацию. Взять например TFileStream, открыть файл, позиционировать куда нужно, читать, анализировать, обрабатывать возможные ошибки ))
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
12.04.2017, 16:07 | #4 |
Форумчанин
Регистрация: 10.02.2014
Сообщений: 526
|
Аватар не замороченный - это как вот здесь, только тут, кажется, для v1. Исходя из этого, с v2 всё посложнее. Я не разбираюсь в байтах и структурах файлов, поэтому не могу провести аналогию и вычислить откуда брать данные. Надеюсь, более продвинутые программисты смогут мне это объяснить.
Последний раз редактировалось Ship_1; 12.04.2017 в 16:16. |
12.04.2017, 16:43 | #5 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
c Delphi 7 ещё будут проблемы при работе с unicode.
Может быть, стоит перейти на более современную версию Delphi ? Цитата:
а можно поинтересоваться, а зачем Вам вообще нужно прочитать эти данные? Может быть, есть другой способ, без использования Delphi. Или Вы плеер на Delphi пишите? Тогда, конечно, без чтения не обойтись! p.s. а ещё можно перейти на Lazarus + FreePascal (см. тему http://forum.lazarus.freepascal.org/...?topic=27044.0 ) Последний раз редактировалось Serge_Bliznykov; 12.04.2017 в 16:52. |
|
12.04.2017, 16:51 | #6 | |
Форумчанин
Регистрация: 10.02.2014
Сообщений: 526
|
Ну вот как раз с плеером было бы проще. Там логичнее было бы использовать Bass, а у него есть свои методы чтения ID3. Мне же просто нужно составить список:
Название файла - дата и время создания - название трека - исполнитель. Цитата:
|
|
12.04.2017, 17:12 | #8 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
т.е. неважно, что программа не работает и не читает/не пишет русский (и вообще unicode текст) - главное, чтобы в IDE кнопочки старенькие были.
ну-ну.. продолжайте в том же духе. Рекомендую, кстати, Windows 98, там нет уникода, и, соотвественно, нет с ним проблем! а есть ещё решение вашей проблемы. возьмите какую-нибудь консольную программку (например, mpgtx отсюда), натравите её на ваши mp3 файлы - получите всю нужную Вам информацию. Потом обработаете чем и как захотите. Возможно, что это будет быстрее, чем писать свою библиотеку для работы с ID3v2 |
12.04.2017, 17:49 | #9 | |
Форумчанин
Регистрация: 10.02.2014
Сообщений: 526
|
Цитата:
А кто Вам сказал, что у меня программа не работает и чего-то там не понимает по-русски? 1. Не всё на свете пишется юникодом. Вы знали об этом? 2. Юникод - не изобретение более поздних версий дельфи и проблемы кодировок вполне можно решать и на седьмой версии. Во всяком случае я ещё не встретил для своих задач критичных случаев работы с юникодом. У меня и так нет проблем с юникодом! А переходить на новый Дельфи только из-за того, что он по умолчанию его поддерживает - уподобляться блондинке, которая покупает новый телефон из-за того, что у него камера на 2 мегапикселя больше! Как же раздражает... Уже не первый раз такое. Программисты, блин. Зачем писать лишнюю строку кода, если можно просто переустановить всю систему. А за ссылку спасибо. Посмотрю по внимательней немного позже. Только, опять же, разве я собирался писать библиотеку? Про id3v4. Кажется, она тоже только для ID3v1... |
|
12.04.2017, 18:01 | #10 | ||
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Цитата:
И именно вот так думающие программисты потом пишут программы, которые не работают или багую, если в пути или имени пользователя вдруг встретят что-то не анси. Цитата:
|
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
с чего начать решение? Считать из файла название объемных геометрических фигур,вывести название,количество граней,рисунок (Delphi) | леночка93 | Помощь студентам | 6 | 16.05.2013 13:14 |
Есть ли способ вставлять кнопки в ячейки таблицы? | Serhantes | Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) | 0 | 27.02.2013 13:54 |
Есть ли другои способ получения внешнего IP | ArtGrek | Работа с сетью в Delphi | 9 | 26.02.2011 16:46 |
WPF пропуск кадров. Есть ли способ предотвратить? | Casper-SC | Общие вопросы .NET | 0 | 09.06.2010 20:16 |
Есть ли способ узнать, кто вызвал скрипт? | motorway | PHP | 5 | 08.07.2009 09:16 |