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

Posted

技术标签:

【中文标题】读取远程 mp3 文件的 ID3 标签?【英文标题】:Reading ID3 tags of a remote mp3 file? 【发布时间】:2010-04-09 08:51:14 【问题描述】:

Read MP3 Tags with Silverlight 让我开始阅读 id3 标签,但我意识到 taglib# online 处理本地文件路径?

有没有办法从远程文件中读取这些信息?

【问题讨论】:

【参考方案1】:

我最近为 Ruby 回答了同样的问题(见下文)——我很确定你可以做类似的事情。

想法是:

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

    下载 ID3v2-tag 的开头部分(100 字节)

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

    下载文件的前 N ​​个字节(例如完整的 ID3v2-tag)

    为您的目的解析 ID3v2 标签

见:

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

【讨论】:

【参考方案2】:

Tim Heuer 有一篇很好的博客文章介绍了这方面的内容。 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

【讨论】:

以上是关于读取远程 mp3 文件的 ID3 标签?的主要内容,如果未能解决你的问题,请参考以下文章

正确读取被 ID3 标签破坏的 MP3 文件

mp3文件的二进制读取ID3标签

通过javascript从文件夹中的mp3文件中读取id3标签

使用 JavaFX MediaPlayer 从 MP3 读取 ID3v2 标签

拒绝从外部mp3获取不安全的标题“Content-Length”/读取ID3标签

在 MP3 ID3v2 标签中设置歌词