Скачать последние 30 секунд mp3 - PullRequest
1 голос
/ 03 марта 2012

Можно ли скачать только последние 30 секунд mp3?Или необходимо загрузить все это и обрезать его по факту?Я буду скачивать через http, т.е. у меня есть URL файла, но это все.

1 Ответ

3 голосов
/ 03 марта 2012

Нет, это невозможно ... по крайней мере, не зная сначала какой-то дополнительной информации.

Настоящая проблема здесь заключается в определении того, с каким байтовым смещением являются последние 30 секунд.Это продукт знания:

  • Частота дискретизации
  • Глубина в битах (на выборку)
  • Количество каналов
  • CBR или VBR
  • Битрейт

Даже тогда вы не получите этого с файлом VBR MP3, и даже с CBR, который знает, насколько велик ID3 и другое дерьмо в началефайл есть.Даже если вы знаете все это, есть некоторая изменчивость, поскольку у вас есть проблема с битовым резервуаром.

Единственный способ узнать это - загрузить весь файл и использовать инструмент, такой как FFMPEG, дляузнать правильное смещение.Затем, если вы хотите воспроизвести его, вам нужно будет добавить соответствующие заголовки и убедиться, что вы обрезаете подходящий кадр или исправить резервуар бит самостоятельно.

Теперь, если бы все это можно было понятьраньше, чем на стороне сервера, тогда да, вы можете запросить смещение с сервера, а затем загрузить с него.Что касается того, как его скачать, ваш вопрос очень неполный и в нем не указано, каким протоколом вы пользовались, поэтому я не могу вам помочь.

...