Не удалось получить встроенный mp3-файл
Я пытаюсь получить обложку альбома в формате 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 уровня 10). Файлы, которые я тестировал, показывают изображение в проводнике Windows, так что, кажется, в него встроены картинки. У кого-нибудь есть мысли по этому поводу?