11

我正在尝试从本地存储在 SD 卡中的 mp3 文件中读取 ID3。

我想基本上取

  1. 标题
  2. 艺术家
  3. 专辑
  4. 轨道长度
  5. 专辑封面
4

3 回答 3

29

您可以使用MediaMetadataRetriever获得所有这些

MediaMetadataRetriever mmr = new MediaMetadataRetriever();
mmr.setDataSource(filePath);

String albumName =
     mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ALBUM);
于 2011-06-10T13:01:31.160 回答
5

检查MP3 文件格式。基本上,您必须读取文件的最后 128 个字节;如果前 3 个字节是"TAG",请继续并读取您需要的字段;如果没有,则该文件没有附加信息。

于 2011-06-10T13:03:12.353 回答
3

如果最后 128 个字节以标记“TAG”开头,则该文件具有 ID3v1(或 ID3v1.1)标记。ID3v2.3 标记位于由标记“id3”指示的文件的开头(适合流式传输)。我相信 ID3v2.4 由“3DE”表示,但我不确定......

于 2013-04-22T08:32:45.450 回答