Как получить обложку для MEDIA (MediaStore.Audio.Media) в Android (API 19)

Итак, я пытаюсь создать очень простой музыкальный проигрыватель (я начал работать с Android всего несколько дней назад). До сих пор я писал код для получения информации о песнях. Однако я не могу получить обложку альбома для каждого носителя. Я знаю, что в MediaStore.Audio.Album есть столбец ALBUM_ART (я пытался получить обложку альбома для каждого альбома, и это сработало), но я хочу назначить обложку альбома каждой песне, и я не знаю, как это сделать . Порывшись в сети, я нашел такой код:

Uri sArtworkUri = Uri.parse("content://media/external/audio/albumart");
Uri albumArtUri = ContentUris.withAppendedId(sArtworkUri, albumId);

Но это не работает, все, что я получаю, это null. Может кто-нибудь объяснить мне, как получить обложку альбома для каждой песни?


person Sneppy    schedule 10.07.2014    source источник


Ответы (1)


String[] columns = { android.provider.MediaStore.Audio.Albums._ID, android.provider. MediaStore.Audio.Albums.ALBUM,android.provider.MediaStore.Audio.Albums.ALBUM_ART }; целый альбом_столбец_индекс = 0; Курсор курсора = getActivity().managedQuery(MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI, columns, null, null, null);

        if (cursor.moveToFirst()) {
            do {


                arrAlbumNAme.add( cursor.getString(cursor
                        .getColumnIndex(android.provider.MediaStore.Audio.Albums.ALBUM)));
                album_column_index = cursor.getColumnIndexOrThrow(android.provider.MediaStore.Audio.Albums._ID);
                //cursor.moveToPosition(position);
                albumID = cursor.getInt(album_column_index);
                Uri sArtworkUri = Uri.parse("content://media/external/audio/albumart");
                Uri uri = ContentUris.withAppendedId(sArtworkUri, albumID);
                arrAlbumArt.add(cursor.getString(cursor
                        .getColumnIndex(android.provider.MediaStore.Audio.Albums.ALBUM_ART)));

            } while (cursor.moveToNext());
        }

Держатель адаптера внутри.image_icon.setImageUri(arrAlbumArt.get(position));

person Srishti Roy    schedule 16.10.2014