path = "/mnt/media_rw/336C-7725/test.mp3"
mmr.setDataSource(path);
it's an USB path,I have system uid,when I try to run
I got this error!
I am sure there is no problem with this mp3 file.
it's randomly,it was OK some times,but now setDataSource failed: status = 0x80000000
I tried almost all action that I found on SO,but useless.
My code
public static ArrayList<MusicInfo> mediaItemListToMusicInfo(List<MediaItem> mediaItemList) {
ArrayList<MusicInfo> musicInfoList = new ArrayList<>();
int i = 10000;
MediaMetadataRetriever mmr = new MediaMetadataRetriever();
for (MediaItem mediaItem : mediaItemList) {
//todo:空文件的异常处理
String musicPath = mediaItem.getUrl();
Log.d("usb mediaItemListToMusicInfo", musicPath);
MusicInfo musicInfo = new MusicInfo();
musicInfo.songId = i++;
musicInfo.size = Long.valueOf(mediaItem.getLength());
musicInfo.data = musicPath;
musicInfo.musicName = mediaItem.getName().substring(0, mediaItem.getName().lastIndexOf("."));
try {
mmr.setDataSource(musicPath);
musicInfo.musicName = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_TITLE) == null ?
mediaItem.getName().substring(0, mediaItem.getName().lastIndexOf("."))
: mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_TITLE);
musicInfo.artist = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ARTIST) == null ?
"未知" : mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ARTIST);
musicInfo.albumName = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ALBUM) == null ?
"未知" : mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ALBUM);
musicInfo.duration = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION) == null ?
0 : Integer.valueOf(mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION));
} catch (RuntimeException e) {
e.printStackTrace();
Log.e("usb mediaItemListToMusicInfo", "解析音频出错!");
}
Log.d("usb musicInfo", musicInfo.toString());
musicInfoList.add(musicInfo);
}
mmr.release();
return musicInfoList;
}
I saw below log: 11-13 17:56:58.162 11327 11327 D usb mediaItemListToVideo: /mnt/media_rw/C013-AF73/测试用视频/SampleVideo_1280x720_10mb.mkv 11-13 17:56:58.162 11327 11327 E usb mediaItemListToMusicInfo: 解析视频出错! 11-13 17:56:58.163 1749 1749 E MetadataRetrieverClient: retriever is not initialized 11-13 17:56:58.164 1749 1749 E MetadataRetrieverClient: retriever is not initialized
User contributions licensed under CC BY-SA 3.0