2012-03-03 109 views
1

是否可以下載MP3的最後30秒?還是有必要下載整個事情並在事後裁剪?我會通過http下載,即我有該文件的URL,但就是這樣。下載mp3的最後30秒

+0

這是一個類似的問題:http://stackoverflow.com/questions/8543214/is-it-possible-to-download-just-part-of-a-zip-archive-eg-one-file 你可以下載文件的一部分,但如果你能夠在此之後使用mp3文件,我不會沒有。 – FrediWeber 2012-03-03 16:54:03

+0

下載了什麼? HTTP? – Brad 2012-03-03 16:54:16

回答

3

不,這是不可能的......至少不是不知道一些更多的信息。

這裏真正的問題是確定最近30秒鐘的字節偏移量。這是認識的產物:

  • 採樣率
  • (每個樣品)位深度
  • 頻道#
  • CBR或VBR
  • 比特率

即使這樣,你不會使用VBR MP3文件,甚至是CBR,誰知道ID3和其他文件開頭的廢話有多大。即使你知道所有這些,仍然有一些變化,因爲你有鑽頭的問題。

要知道的唯一方法是下載整個文件並使用工具(如FFMPEG)來找出正確的偏移量。然後,如果您想播放它,您需要添加適當的標題,並確保您正在修剪符合條件的幀,或自行修復位庫。

現在,如果這可能都是服務器端提前計算出來的,那麼是的,您可以從服務器請求偏移量,然後從那裏下載。至於如何下載它,你的問題是非常不完整的,並沒有提到你使用的協議,所以我不能幫你。

+0

如果我不需要_exactly_ 30秒,會有可能嗎?說從20-40的任何地方都沒問題。 – 2012-03-03 17:02:26

+0

@Wiscocrew,不是真的,除非你想從5點到05點。您可以嘗試從文件中抓取最後x個字節。首先,做一個HEAD請求來確定文件的長度,然後選擇最後的700KB左右。雖然如此,這是非常可變的,你可以得到任何東西。 – Brad 2012-03-03 17:10:26