Android MediaMetadataRetriever从大多数键返回空值

时间:2012-09-17 19:30:14

标签: java android metadata media android-mediaplayer

我想从我的媒体文件中获取信息(主要是mp3),我只从我想要的那些值中得到null。我已经尝试了extractMetadata(key)的所有密钥。我跳过/遗失了什么吗?

代码基础:

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

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

我使用持续时间密钥(MediaMetadataRetriever.METADATA_KEY_DURATION)和mimetype key (MediaMetadataRetriever.METADATA_KEY_MIMETYPE)获取正确的值,这表示数据源/文件路径正在工作。

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

感谢任何帮助。

3 个答案:

答案 0 :(得分:1)

这可能听起来很傻但你尝试过很多不同的mp3文件吗?根据我的经验,如果你非法获取你的mp3文件,键有时候就不存在了。

答案 1 :(得分:0)

Poweramp维护自己的数据库 /data/data/com.maxmpz.audioplayer/databases/folders.db 您将需要一个有根设备来调查此数据库。 如果您想了解更多详情,可以给我发一个下午

答案 2 :(得分:0)

元数据值成功时与给定的keyCode关联;失败时为null。