尝试使用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();