Sto cercando di ottenere la copertina dell'album di un file MP3. Ho pensato che il modo migliore e più pulito per farlo è utilizzare la classe MediaMetadataRetriever. Ma per qualche ragione, il metodo getEmbeddedPicture non funziona. L'immagine non è visibile, LogCat mostra un errore:Acquisisci arte incorporata nel file mp3 incorporato non riuscito
04-29 18:36:19.520: E/MediaMetadataRetrieverJNI(25661): getEmbeddedPicture: Call to getEmbeddedPicture failed.
Questo è il codice che non sembra funzionare:
@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;
}
Sono in esecuzione su un dispositivo con Android 4.2, quindi non ci dovrebbero essere problemi con MediaMetadataRetriever (richiede api lvl 10). I file che ho provato mostrano un'immagine in Windows Explorer, quindi sembra che ci sia un'arte incorporata. Qualcuno ha qualche pensiero su questo?
Locale, ma sembra che dipenda dal file. Su altri file MP3 mostra la copertina dell'album. –