LINUX.ORG.RU

История изменений

Исправление deep-purple, (текущая версия) :

первые несколько кб

Самый первый фрейм (актуально для VBR) содержит Xing/VBRI заголовок в котором написано общее кол-во фреймов и закодированных в них PCM.

А еще есь free-формат, это когда битрейт равен нулю )) Тогда надо декодировать этот фрейм чтоб узнать битрейты и прочие..

Ну и самый обычный вариант - ищем первый фрейм, если он не VBR и не free, тогда берем оттуда битрейты и режимы, берем общий размер полезных данных в файле и узнаем длительность.

В общих чертах как-то так.

Исходная версия deep-purple, :

первые несколько кб

Самый первый фрейм (актуально для VBR) содержит Xing/VBRI заголовок в котором написано общее кол-во фреймов и закодированных в них PCM.

А еще есь free-формат, это когда битрейт равен нулю )) Тогда надо декодировать этот фрейм чтоб узнать битрейты и прочие..

Ну и самый обычный вариант - ищем первый фрейм, если он не VBR и не free, тогда берем оттуда битрейты и режимы, делим общий размер полезных данных в файле на размер этого фрейма и узнаем длительность.

В общих чертах как-то так.