如何从 BufferedInputStream 中读取 id3 标签?

Posted

技术标签:

【中文标题】如何从 BufferedInputStream 中读取 id3 标签?【英文标题】:How read id3 tags from BufferedInputStream? 【发布时间】:2011-05-10 21:25:34 【问题描述】:

此链接对我没有帮助,但这是 id3_1 http://willcode4beer.com/parsing.jsp?set=mp3ID3

有很多库,但没有一个不适用于流。

告诉库,或者告诉我需要下载多少信息,这将保存文件并传输与文件一起使用的库。

【问题讨论】:

看到这个问题了吗? ***.com/questions/73147/… 【参考方案1】:

需要读取多少才能获取ID3信息取决于流中ID3信息的版本。对于 ID3v1,它将是最后 128 个字节(或扩展 ID3v1 的最后 227+128 个字节);对于 ID3v2,它将位于开头。

【讨论】:

如果下载是128字节,存储在一个文件中并在那些函数中发送,那么它会起作用吗?除非它发现需要下载最新的 227 并再次发送功能? 如果我的理解正确,下载文件开头的想法(ID3v2 标头的??字节)并将其与最后 227+128 字节连接并将其写入文件并对此文件运行 ID3 信息提取应该可以正常工作。您必须查看 ID3v2 标头在文件开头的长度。 ID3v1 - ID3v1:128 字节 + 扩展标签(放置在 ID3v1 标签之前):227 字节。 ID3v2 我看过但不明白。阅读此en.wikipedia.org/wiki/ID3

以上是关于如何从 BufferedInputStream 中读取 id3 标签?的主要内容,如果未能解决你的问题,请参考以下文章

文件流之字节缓冲流(BufferedInputStream BufferedOutputStream)

bufferedinputstream的使用

java中讲讲BufferedInputStream的用法,举例?

BufferedInputStream 的使用

BufferedInputStream available() 吃 CPU

BufferedOutputStream.close() 会让 BufferedInputStream 被关闭?