|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
10.11.2009, 16:17 | #21 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Не очень эффективно, но работает правильно. Проверил в цикле на папке с музыкой, 267 разношерстных mp3 файлов. Правильно определил 266 mp3 и один не mp3, там действительно один wma файл был. Но довольно долго это длилось. Если пакетная обработка не нужна, то пойдет и так. Тормозом наверное оказался wma, т.к. проверялись все 10 мб в поисках фрейма, можно намного эффективнее сделать.
Для этого нужно находить длину ID3 тега если он есть в начале. И уже после него, или же от начала файла, если тега нет, проверить буквально пару килобайт, если там не будет фрейма, то это не mp3, или же испорченный mp3, в к-ром данные по какой-то причине очень далеко от начала. Обычно первый фрейм в пределах первой тысячи байт находится (в файлах без ID3 тега) в зависимости от того, с помощью чего создавался mp3.
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)
Проверь себя! Онлайн тестирование | Мой блог |
11.11.2009, 12:33 | #22 |
Форумчанин
Регистрация: 23.07.2009
Сообщений: 185
|
mutabor, что длинна ID3 тега есть в файле?
|
11.11.2009, 12:56 | #23 |
Форумчанин
Регистрация: 28.09.2008
Сообщений: 344
|
Не забудте, что ID3v2 тегов может быть в начале несколько.
Сам видел по два - три. И могут встречаться между MP3 тегами ( во всяком случает разрешается ). Информация о размере ID3v2 тега есть в его заголовке. ACS_Tags.zip - модуль с классами для работы с ID3v2 тегами из состава NewAC компонентов. ( Может пригодится ) |
11.11.2009, 15:47 | #24 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Gerzs, ID3 тег это отдельный "организм" внутри mp3, у него свой заголовок, и своя структура.
Такого чтобы v2 тегов было несколько я не встречал. Но если так бывает, тогда нужно сперва убедиться что нет следующего тега, а потом уже воспринимать файл как данные. Внутри теги могут быть по спецификации, но я такого также не встречал. Самый точный способ это конечно прошерстить весь файл, но я не знаю можно ли назвать mp3 файлом файл, в к-ром где-то в середине есть пару фреймов s.Creator, спасибо за ссылку, пригодится.
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)
Проверь себя! Онлайн тестирование | Мой блог |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Mp3 | Lexakazanskij | Мультимедиа в Delphi | 7 | 17.06.2009 15:57 |
Проигрователь mp3 на c++ | Palach | Общие вопросы C/C++ | 3 | 30.03.2009 20:02 |
mp3 | krok | PHP | 2 | 29.04.2008 11:21 |
MediaPlayer - как сделать последовательное воспроизведение mp3 файлов (именно mp3) | Kashp | Компоненты Delphi | 13 | 28.09.2007 08:38 |