2010-04-09 118 views

回答

0

蒂姆豪雅有一個很好的博客文章這樣做。 http://timheuer.com/blog/archive/2010/01/30/reading-mp3-id3-tags-with-silverlight-taglib.aspx

就像你自己一樣,他也遇到了只使用本地路徑的TabLib#的問題。

TagLib#沒有的一件事是流輸入實現。實際上,大多數庫都採用了本地文件路徑。幸運的是,該庫是使用通用的「文件」界面編寫的,所以我只需創建自己的StreamFileAbstraction。我選擇在我的項目中而不是基本庫中執行此操作。這很容易,因爲LocalFileAbstraction實際上是在文件上執行Open操作,因爲它是第一個任務並設置了一些公共變量。我的抽象基本上只是把流已經準備好了。

在novell網站上有一個使用文件抽象的例子。 http:// developer.novell.com/wiki/index.php/TagLib_Sharp:_Examples

1

我最近回答了Ruby的相同問題(見下文) - 我敢肯定你可以做類似的事情。

的理念是:

  1. 使用HTTP 1.1協議或更高,以及一系列的HTTP請求。

  2. 下載的ID3v2標籤

  3. 下載文件的前幾個字節的起始段(100個字節),你可以決定整個ID3v2標籤,例如正確長度ñ

  4. 下載第N個字節的文件(例如完整的ID3v2標籤)

  5. 解析ID3v2標籤爲您的目的

參見:

Read ID3 Tags of Remote MP3 File in Ruby/Rails?