Ich versuche, das Albumcover einer MP3-Datei zu bekommen. Ich dachte, der beste und sauberste Weg wäre die MediaMetadataRetriever-Klasse. Aber aus irgendeinem Grund funktioniert der Aufruf der getEmbeddedPicture-Methode nicht. Das Bild zeigt nicht, LogCat zeigt einen Fehler:Get eingebettete MP3-Datei eingebettete Kunst fehlgeschlagen
04-29 18:36:19.520: E/MediaMetadataRetrieverJNI(25661): getEmbeddedPicture: Call to getEmbeddedPicture failed.
Dies ist der Code, der nicht zu funktionieren scheint:
@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;
}
Ich laufe es auf einem Gerät mit Android 4.2, Es sollte also kein Problem mit dem MediaMetadataRetriever geben (erfordert API-Level 10). Die Dateien, die ich getestet habe, zeigen ein Bild im Windows Explorer an, also scheint es Kunst zu geben. Hat jemand darüber irgendwelche Gedanken?
Lokal, aber es scheint, dass es von der Datei abhängt. Bei anderen MP3-Dateien zeigt es das Albumcover. –