我正在尝试从本地存储在 SD 卡中的 mp3 文件中读取 ID3。
我想基本上取
- 标题
- 艺术家
- 专辑
- 轨道长度
- 专辑封面
您可以使用MediaMetadataRetriever获得所有这些
MediaMetadataRetriever mmr = new MediaMetadataRetriever();
mmr.setDataSource(filePath);
String albumName =
mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ALBUM);
检查MP3 文件格式。基本上,您必须读取文件的最后 128 个字节;如果前 3 个字节是"TAG"
,请继续并读取您需要的字段;如果没有,则该文件没有附加信息。
如果最后 128 个字节以标记“TAG”开头,则该文件具有 ID3v1(或 ID3v1.1)标记。ID3v2.3 标记位于由标记“id3”指示的文件的开头(适合流式传输)。我相信 ID3v2.4 由“3DE”表示,但我不确定......