Как получить правильную продолжительность из аудиофайла с большим изображением?

HTML5 audio.duration вычисляет неправильную продолжительность, потому что он не исключает материал перед заголовком, например тег id3 с иллюстрацией.

Если вы добавите обложку в свой файл, это может занять несколько секунд.

Я читал о HTTP-заголовке ответа Content-Length, но я пишу сценарий, в котором вы перетаскиваете локальные файлы, так что это мало чем поможет.

Могу ли я рассчитать продолжительность самостоятельно без HTML5? Если HTML5 может вычислить это из байтов и фреймов (?), то это должно быть возможно сделать лучше.


person Martin    schedule 10.06.2013    source источник
comment
Разве вы не можете получить продолжительность на стороне сервера? Если да, попробуйте sox: stackoverflow.com/questions/10437750/   -  person huysentruitw    schedule 30.06.2013
comment
Я хочу перетаскивать локальные файлы, чтобы получать информацию о файле, такую ​​как продолжительность, битрейт и размер файла. К настоящему времени мне удалось получить только размер файла. Файлы большие (50 МБ - 500 МБ), поэтому загружать их сначала было бы неудобно.   -  person Martin    schedule 30.06.2013
comment
Можете ли вы получить доступ к данным файла на стороне клиента? Если да, то вы можете сделать это самостоятельно. Для файлов, закодированных CBR, это просто, но для кодирования VBR вам нужно прочитать информацию о каждом кадре, если вы хотите точную продолжительность.   -  person huysentruitw    schedule 01.07.2013
comment
VBR: Да, тяжело, еще и получить правильный средний битрейт. Я боюсь, что javascript не может этого сделать. Можете ли вы получить доступ к данным файла на стороне клиента? > Что ты имеешь в виду? Я хочу заполнить форму на своем веб-сайте информацией о файле, чтобы люди могли перетаскивать файл в браузер.   -  person Martin    schedule 01.07.2013
comment
Пример перетаскивания с продолжительностью HTML: jsfiddle.net/H7xFS/2. Проблема: Когда вы загружаете, например daten.clr.net/pod/CLRSR224_dense_&_pika.mp3 и бросьте его, он читает 61 : 20 минут вместо правильных 61:08, потому что в него включено изображение размером 275 КБ.   -  person Martin    schedule 01.07.2013
comment
Вы можете найти свое решение здесь: продолжительность mp3 в сети"> stackoverflow.com/questions/383164/   -  person John Pankowicz    schedule 03.07.2013