MediaMetadataRetriever

MediaMetadataRetriever

尝试使用MediaMetadataRetriever检索mp3信息(专辑名称...)。
在模拟器中,它运行良好。在我的设备上,大多数方法都返回null。

MediaMetadataRetriever mmr =新的MediaMetadataRetriever();
mmr.setDataSource(songPath);

字符串albumName = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ALBUM);

字符串mp3Title = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_TITLE);

字符串mimekey = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_MIMETYPE);

mp3明确具有这些信息,因为在模拟器中显示了这些信息(相同的文件!)。文件路径确定,mimekey已设置,我也没有异常(exception)。

我正在使用SdkVersion = 14。
我检查了
How to get songs from album/Artist in android,using MediametadataRetriever?
Android MediaMetadataRetriever returns null values from most keys
但这没有帮助。由于其 native 代码,因此无法调试MediaMetadataRetriever.extractMetadata。

有任何想法吗?

最佳答案

您尝试过FFmpegMediaMetadataRetriever吗?:

FFmpegMediaMetadataRetriever retriever = new FFmpegMediaMetadataRetriever();
retriever.setDataSource(songPath);
String albumName = retriever.extractMetadata(FFmpegMediaMetadataRetriever.METADATA_KEY_ALBUM);
String mp3Title = retriever.extractMetadata(FFmpegMediaMetadataRetriever.METADATA_KEY_TITLE);
retriever.release();

10-06 03:25