Страницы

Поиск по вопросам

пятница, 24 января 2020 г.

Как получить длительность mp3 файла без скачивания всего файла

#c_sharp #mp3


Для изображений есть метод для определения размера картинки без полного скачивания.
https://stackoverflow.com/questions/111345/getting-image-dimensions-without-reading-the-entire-file

А вот как быть с mp3 файлами? Есть ли такое для таких файлов?
    


Ответы

Ответ 1



Из-за возможного VBR и неясной длины тегов (особенно если там картинок понапихано) - в общем случае нельзя Можно оценить примерно по размеру, битрейту нескольких первых фреймов(битрейт указывается в заголовке каждого фрейма, и по ним можно понять CBR там или порядок значения VBR) и надежде, что картинка если и есть - то небольшая. Если удаленный сервер поддерживает, причем скоре всего да - слать Range-запросы(т.е. читать не целиком, а только начало), либо менее красиво - оборвать коннект, прочитав кусок. В теории можно через range так же попробовать прочитать собственно и теги, но это уже несколько запросов на один файл - теги живут либо в начале, либо в конце файла

Комментариев нет:

Отправить комментарий