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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как вытыщить из mp3 файла информацию 
:(
    Опции темы
Cameron
Дата 1.2.2006, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Как вытыщить из mp3 файла информацию о его продолжительности?

PM MAIL   Вверх
bilbobagginz
Дата 1.2.2006, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


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

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



надо копать формат mp3. но идея: файл состоит из блоков. блоки одной продолжительности. считай блоки и умножай на продолжительность блока.
тебя интересует настоящая ( эффективная ) продолжительность сигнала ?
тогда тебе еще надо вычесть (или вообще не прибавлять) те блоки которые - тишина.
пока.


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Cameron
Дата 1.2.2006, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



тоесть надо вычеслить количество фраймов потом умножить на 200 мили секунд и получется общая продолжительность mp3?
Тогда как узнать скока их там этих фраймов?
PM MAIL   Вверх
Bratan
Дата 10.2.2006, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Cameron Каждый фрейм начинает с 12 битовых единиц. То есть 0хFF 0xF*.
Но продолжительность, мне кажется, можно подсчитать проще. Для этого надо вытащить битрейт из заголовка фрейма (за это отвечают четыре бита в заголовке, если интересно, то могу уточнить какие) и на него поделить размер файла в битах. (К слову большинство MP3 128 Kb/sec). (Хотя вообще говоря встречается переменный битрейт.)

PM MAIL   Вверх
bilbobagginz
Дата 11.2.2006, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


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

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



именно из-за переменного бит-рейта и надо пройтись по всему файлу, фрейм за фреймом, и делать:
Код

while (cur=read_next_frame()){
   if (!(curr_br=get_frame_bitrate(cur))){
/*      oshibka*/
      exit(ERR1);
   }
   
   ;
   if (!(frame_length=calc_length(curr_br))){
/*      oshibka*/
      exit(ERR2);
   }

   total_length+=frame_length;
}


пока.


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
cardinal
Дата 11.2.2006, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


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

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



Вот тут посмотрите, думаю поможет в решении вопроса...
http://activevb.de/rubriken/projekte/prj_m...v/mp3towav.html


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Работа со звуком | Следующая тема »


 




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


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

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