Android MediaMetadataRetriever 从大多数键返回空值

我想从我的媒体文件(主要是mp3)中获取信息,但我只从我想要的那些值中获得null。我已经尝试了所有键。我是否跳过/遗漏了某些内容?extractMetadata(key)

代码基础:

MediaMetadataRetriever f = new MediaMetadataRetriever();
f.setDataSource(item.getFilePath());

String title = f.extractMetadata(MediaMetadataRetriever.METADATA_KEY_TITLE);

我确实得到了正确的值 与 持续时间键 和 mimetype 键 ,这表示数据源/文件路径正在工作。(MediaMetadataRetriever.METADATA_KEY_DURATION)(MediaMetadataRetriever.METADATA_KEY_MIMETYPE)

Poweramp(流行的媒体播放器)能够读取元数据值,如标题/作者/作曲家等,因为它在UI中显示这些额外的值。或者Poweramp从其他来源或方法获取这些值?

任何帮助是值得赞赏的。


答案 1

这可能听起来很愚蠢,但你有没有尝试过许多不同的mp3文件?只是根据我的经验,如果你非法获取mp3文件,密钥有时根本不存在。


答案 2

Poweramp在/data/com.maxmpz.audioplayer/databases/folders中维护自己的数据库.db你需要一个根设备来调查这个数据库。如果你想要更多细节,你可以给我发一个下午


推荐