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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.11.2009, 16:17   #21
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 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)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 11.11.2009, 12:33   #22
Gerzs
Форумчанин
 
Аватар для Gerzs
 
Регистрация: 23.07.2009
Сообщений: 185
По умолчанию

mutabor, что длинна ID3 тега есть в файле?
Gerzs вне форума Ответить с цитированием
Старый 11.11.2009, 12:56   #23
s.Creator
Форумчанин
 
Регистрация: 28.09.2008
Сообщений: 344
По умолчанию

Не забудте, что ID3v2 тегов может быть в начале несколько.
Сам видел по два - три.
И могут встречаться между MP3 тегами ( во всяком случает разрешается ).
Информация о размере ID3v2 тега есть в его заголовке.
ACS_Tags.zip - модуль с классами для работы с ID3v2 тегами из состава NewAC компонентов. ( Может пригодится )
s.Creator вне форума Ответить с цитированием
Старый 11.11.2009, 15:47   #24
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 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)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
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