Опитвам се да получа обложката на албума на 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 Explorer, така че изглежда има вградено изкуство. Някой има ли някакви мисли по този въпрос?