3 / 3 / 0
Регистрация: 31.01.2010
Сообщений: 36
|
||||||
1 | ||||||
Чтение и изменение данных в MP3 файле02.04.2010, 22:11. Показов 12117. Ответов 6
Метки нет (Все метки)
Всем доброго времени суток. Неожиданно мне потребовалось начать работу непосредственно с данными mp3 файла. Если я правильно понял структуру (а я ее так и не понял), файл можно представить следующим образом: *ID3-тэг*---*фрейм*---*фрейм*---*фрейм*... Сам фрейм при этом делится на *заголовок* и *данные* (нечто подобное я прочитал в википедии, поправьте, если я не прав). Вот с этими *данными* мне и нужно работать.
На данный момент основная проблема в том, что я не знаю размер "тэга", "заголовка" и "данных". (надеюсь, они имеют фиксированный размер). И заодно еще один вопрос: можно ли создать в конце файла свой фрейм, если скопировать заголовок последнего фрейма в файле и добавить свои данные?.. Привожу существующий на данный момент код (на работоспособность не проверялся из-за указанных выше проблем с размерами)
0
|
02.04.2010, 22:11 | |
Ответы с готовыми решениями:
6
Добавление, изменение данных в XML файле Чтение MP3-тегов Чтение файла mp3 из Properties.Resources Сохранение ID3v2 тегов в mp3 файле |
1512 / 779 / 103
Регистрация: 22.04.2008
Сообщений: 1,610
|
||||||
03.04.2010, 00:20 | 2 | |||||
Вот класс в котором читаются данные об MP3 файле.
1
|
3 / 3 / 0
Регистрация: 31.01.2010
Сообщений: 36
|
|||||||||||
03.04.2010, 08:55 [ТС] | 3 | ||||||||||
Sergei, спасибо. Значит, если я правильно понял из этой
Осталось найти размер "заголовка" и размер блока "данных".
0
|
1319 / 992 / 127
Регистрация: 08.12.2009
Сообщений: 1,299
|
|
04.04.2010, 03:07 | 4 |
от файла к файлу размеры заголовков могут меняться (для неверующих - уверуйте). так вот, мой совет - рассчитывать размер вручную. по байтам... пока не выйдет. грубо говоря - пытайся менять параметр размера пока не считаешь удачно. ну и начни со 128, естессна)
0
|
3 / 3 / 0
Регистрация: 31.01.2010
Сообщений: 36
|
|
04.04.2010, 13:47 [ТС] | 5 |
Хотя бы блок данных имеет постоянный размер? Или придется сначала считывать тэг, пока не обнаружится начало первого фрейма, потом считывать заголовок, пока он не считается, потом считывать данные, пока не найдется начало второго фрейма, и так до конца файла?..
0
|
3 / 3 / 0
Регистрация: 31.01.2010
Сообщений: 36
|
|
20.04.2010, 21:46 [ТС] | 6 |
Появилось время, и я снова занялся этим вопросом. Если верить вот этому (и если я правильно все понял), заголовок фрейма имеет длину 32 бита, а длина фрейма изменяется.
Формулы длины фрейма: Далее, ID3v1 находится в конце файла, его можно считать без проблем. А вот как прочитать ID3v2 я пока не понимаю, сейчас разбираюсь с этим исходником, но 99,99% его функционала мне не нужны. Может, кто-нибудь знает способ попроще?.. Добавлено через 14 часов 9 минут Нашел еще один исходник для чтения ID3v2, сейчас разбираюсь (английский не знаю )
0
|
a_book
|
|||||||||||
28.07.2010, 18:54 | 7 | ||||||||||
Sergei, Не поделитесь ли архивом с полной версией проекта MP3?
P.s: "
"
|
28.07.2010, 18:54 | |
28.07.2010, 18:54 | |
Помогаю со студенческими работами здесь
7
Чтение ID3v2 в MP3 тегов без использования сторонних библиотек Чтение mp3-тегов в консольном приложении Чтение MP3-тегов: исправить код Сохранение и чтение данных в файле Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |