Nie można osadzić osadzonego pliku mp3
Próbuję uzyskać okładkę albumu z plikiem MP3. Myślałem, że najlepszym i najczystszym sposobem jest użycie klasy MediaMetadataRetriever. Ale z jakiegoś powodu wywołanie metody getEmbeddedPicture nie działa. Obraz nie jest wyświetlany, LogCat pokazuje błąd:
04-29 18:36:19.520: E/MediaMetadataRetrieverJNI(25661): getEmbeddedPicture: Call to getEmbeddedPicture failed.
To jest kod, który nie działa:
@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;
}
Używam go na urządzeniu z Androidem 4.2, więc nie powinno być żadnych problemów z MediaMetadataRetriever (wymaga api lvl 10). Pliki, które testowałem, pokazują obraz w Eksploratorze Windows, więc wydaje się, że są osadzone obrazy. Ktoś ma jakieś przemyślenia na ten temat?