2010-04-09 73 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?