Я пытаюсь получить обложку альбома из файла MP3. Я подумал, что лучший и самый чистый способ сделать это — использовать класс MediaMetadataRetriever. Но по какой-то причине вызов метода getEmbeddedPicture не работает. Изображение не отображается, LogCat показывает ошибку:
04-29 18:36:19.520: E/MediaMetadataRetrieverJNI(25661): getEmbeddedPicture: Call to getEmbeddedPicture failed.
Это код, который, похоже, не работает:
@Override
protected Void doInBackground(Void... params) {
// TODO Auto-generated method stub
MediaMetadataRetriever mmdr = new MediaMetadataRetriever();
mmdr.setDataSource(path); //path of the MP3 file on SD Card
bites = mmdr.getEmbeddedPicture();
if(bites != null)
artBM = BitmapFactory.decodeByteArray(bites, 0, bites.length);
return null;
}
Я запускаю его на устройстве с Android 4.2, поэтому не должно быть никаких проблем с MediaMetadataRetriever (требуется API lvl 10). Файлы, которые я тестировал, показывают изображение в проводнике Windows, поэтому кажется, что в них встроено искусство. У кого-нибудь есть мысли по этому поводу?