读取远程mp3文件的ID3标签?

3
使用Silverlight读取MP3标签让我开始了解如何读取id3标签,但我意识到taglib#在线处理本地文件路径?有没有一种方法可以从远程文件中读取这些信息?
2个回答

1

我最近回答了一个关于Ruby的类似问题(见下文) - 我相信你也可以做类似的事情。

思路如下:

  1. 使用HTTP 1.1协议或更高版本,以及Range HTTP请求。

  2. 下载ID3v2标签的开始部分(100字节)。

  3. 从下载的前几个字节中,您可以确定完整的ID3v2标签的正确长度,例如N。

  4. 下载文件的前N个字节(例如完整的ID3v2标签)。

  5. 解析ID3v2标签以满足您的需求。

请参见:

在Ruby / Rails中读取远程MP3文件的ID3标签?


0

Tim Heuer在他的博客文章中介绍了如何做到这一点。http://timheuer.com/blog/archive/2010/01/30/reading-mp3-id3-tags-with-silverlight-taglib.aspx

就像你一样,他也遇到了TabLib#只使用本地路径的问题。

TagLib#缺少流输入实现。事实上,大多数库都假定本地文件路径。幸运的是,该库使用了通用的“文件”接口编写,因此我只需要创建自己的StreamFileAbstraction即可。我选择在我的项目中而不是基础库中进行这个操作。这很容易,因为LocalFileAbstraction实际上会在其第一个任务中打开文件并设置一些公共变量。我的抽象基本上只是将流交给它,已经准备好了。

Novell网站上有一个使用文件抽象的示例。 http:// developer.novell.com/wiki/index.php/TagLib_Sharp:_Examples


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接