我正在尝试从SD卡中本地存储的mp3文件中读取ID3信息。
我想要获取以下内容:
- 标题
- 艺术家
- 专辑
- 曲目长度
- 专辑封面
MediaMetadataRetriever mmr = new MediaMetadataRetriever();
mmr.setDataSource(filePath);
String albumName =
mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ALBUM);
请查看MP3文件格式。基本上,您需要读取文件的最后128个字节; 如果前3个字节是"TAG"
,则继续读取所需的字段;如果不是,则文件没有附加信息。
InputStream
;将最后的128个字节读入缓冲区;检查缓冲区的前3个字节,应该是TAG
;使用Arrays.copyOfRange
读取相关字节;将这些字节转换为int
(用于类型)或String
(用于其他内容)。 - Gabriel Negut
null
)。 - Luis A. Florit