尝试使用MediaMetadataRetriever检索mp3信息(Albumname,...)。 在模拟器中它工作正常。在我的设备上,大多数方法都返回null。
MediaMetadataRetriever mmr = new MediaMetadataRetriever(); mmr.setDataSource(songPath);
String albumName = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ALBUM);
String mp3Title = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_TITLE);
String mimekey = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_MIMETYPE);
mp3确定了这些信息,因为在模拟器中显示了这些信息(同一个文件!)。文件路径没有设置mimekey,我也没有例外。
我正在使用SdkVersion = 14。 我查过了 How to get songs from album/Artist in android,using MediametadataRetriever?和 Android MediaMetadataRetriever returns null values from most keys 但它没有帮助。无法调试MediaMetadataRetriever.extractMetadata,因为它的本机代码。
有什么想法吗?
答案 0 :(得分:0)
您是否尝试过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();
答案 1 :(得分:0)
我在视频GPS_LOCATION上遇到了同样的问题。在某些设备中它正在工作,而在某些设备中它却不工作。
此修复程序是次要的,而不是
setDataSource(context, uri)
我用过
setDataSource(absoluteFilePath)