Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> mp3, Писать и читать теги? 
:(
    Опции темы
HalkaR
  Дата 21.12.2002, 02:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пуфыстый назгул
****


Профиль
Группа: Экс. модератор
Сообщений: 2132
Регистрация: 8.12.2002
Где: В Москве

Репутация: нет
Всего: 42



Как собственно говоря писать и читать mp3 теги?
PM MAIL   Вверх
Baa
Дата 21.12.2002, 03:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



Код

void CMfc1Dlg::OnBnClickedButton2()
{
typedef struct tagID1 {
char szTAG[3];
char szSongName[30];
char szArtist[30];
char szAlbum[30];
char szYear[4];
char szComment[30];
char cGenre;
} ID1, *LPID1;
HANDLE hFile = CreateFile ("c:\\001.mp3",
GENERIC_READ,
0,
NULL,
OPEN_EXISTING,
0,
NULL);
SetFilePointer (hFile, GetFileSize (hFile, NULL)-128, 0, FILE_BEGIN);
ID1 id1;
DWORD dwBytes;
ReadFile (hFile, &id1, sizeof(ID1), &dwBytes, NULL);
if (memcmp (id1.szTAG, "TAG", 3)) AfxMessageBox ("Not an id1 TAG");
CString str;
CloseHandle (hFile);
}



--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
Baa
Дата 21.12.2002, 03:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



Ах, да, совсем забыл, чтобы писать их, поищи на форуме тему про работу с файлами.
з.ы. если найдешь как читать ID3v2 - дай знать... времени с ним разбираться у меня ща нету, но на первый взгляд он показался мне не таким простым как ID3v1


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
Vaulter
Дата 30.12.2002, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1724
Регистрация: 30.12.2002
Где: бункер

Репутация: 2
Всего: 22



чтобы читать ID3v2 нужно всего лишь знать имена полей для артистов и т.д.
идет с начала файла, если первые байты "ID3" значит он.
далее ищем "TALB" для поля альбом
"TPE1" для артиста
"TIT2" для имени.
формат всех полей такой
typedef struct
{
char TagIndet[4];//4 символа на тип поля
       DWORD length;//подозрение на длину строки, однако встречал несоответсвия, редко, один раз. :)
       char zeros[3];//там просто нули!!! я их пропускал
std::string field;//собственно за чем и охота, длиной в length
} MP3TAGV2;


--------------------
PM MAIL WWW ICQ   Вверх
Baa
Дата 30.12.2002, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



Не такой варинт не подходит... так хитрее система... там вроде смещения прописываются на след. тэг (или на размер текущего)(но эт не точно :\ потому как опять же, вплотную этим вопросом не занимался :( )... надо читать все... (еще умудряются текст песни засунуть в файл...)


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
Vaulter
Дата 30.12.2002, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1724
Регистрация: 30.12.2002
Где: бункер

Репутация: 2
Всего: 22



я написал же про размер стринга, и про индификатор
а их там много индификаторов - картинки, текста и т.д.
кстати, официального описания все никак не могу найти, очень нужно. можт кто знает где лежит


--------------------
PM MAIL WWW ICQ   Вверх
Baa
Дата 30.12.2002, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



У меня есть полное описание... правдо скорее всего у тебя такое тоже есть... вобщем, если хочешь, то могу выслать (оно дома, так что как токо домой приду) :) заодно если разберешься, потом мне расскажешь :)




--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
Vaulter
Дата 31.12.2002, 05:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1724
Регистрация: 30.12.2002
Где: бункер

Репутация: 2
Всего: 22



высылай! мне очень нужно, потому как я написал/пишу/и еще буду писать прогу (plugin for Winamp - Winamp Statistician) а там как раз надо читать инфу, а если есть еще мона на WMA и где там еще артисты.
[email protected]
заранее благодарен


--------------------
PM MAIL WWW ICQ   Вверх
luck
Дата 2.1.2003, 04:51 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











народ и мне, плиз,  скиньте на мыло инфу по поводу ID3.
[email protected]
  Вверх
neutrino
Дата 2.1.2003, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: 1
Всего: 62



Lord Baa, кинь ее в ФАК. Там ей и место.


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
Baa
Дата 3.1.2003, 00:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



Цитата(neutrino @ 02.1.2003, 10:12)
Lord Baa, кинь ее в ФАК. Там ей и место.

Статье? она огромна... да и она не привязана к языку... а по технологиям и алгоритмам форума нету...


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
neutrino
Дата 3.1.2003, 01:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: 1
Всего: 62



Ну, тогда в портал. Он, кстати, доделан или нет?


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
Baa
Дата 3.1.2003, 07:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



Вовка вроде еще работает над ним... так что рано... я думаю, что я разберусь с тэгами и тогда свою статью повешу, дабы проблем с копирайтами не было.


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
DrMasik
Дата 4.1.2003, 07:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 13.12.2002

Репутация: нет
Всего: нет



Да на FTP-шник киньте. а тут только ссылочку, да и все!!!
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1217 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.