Я хочу знать код (функцию), как вернуть изображение обложки альбома в музыкальном проигрывателе. Вы можете объяснить, какие параметры мне нужно передать? Я могу передать путь к файлу функции.
импортированные необходимые библиотеки публичный класс SongsManager {//путь к SDCard final String MEDIA_PATH = new String ("/sdcard/"); частный ArrayList > songsList = new ArrayList > (); //Конструктор public SongsManager () {} public ArrayList > getPlayList () {File home = new File (MEDIA_PATH); if (home.listFiles (new FileExtensionFilter ()). length> 0) {for (File file: home.listFiles (new FileExtensionFilter ())) {HashMap song = new HashMap () ; song.put ("songTitle", file.getName (). substring (0, (file.getName (). length () - 4))); song.put ("путь к песне", файл.getPath ()); //Добавление каждой песни в список песен songList.add (song); }}//возвращаем массив списка песен return songsList; } class FileExtensionFilter реализует FilenameFilter {общедоступное логическое значение accept (каталог файла, имя строки) {return (name.endsWith (". mp3") || name.endsWith (". MP3")); }}}
Попробуйте следующее:
MediaMetadataRetriever mmr = new MediaMetadataRetriever (); mmr.setDataSource ( file.getPath ()); byte [] data = mmr.getEmbeddedPicture (); Bitmap bitmap = BitmapFactory.decodeByteArray (data, 0, data.length); imageView.setImageBitmap (bitmap);
Tyr This
частный byte [] getAlbumArt (String uri) {MediaMetadataRetriever retriever = new MediaMetadataRetriever (); retriever.setDataSource (uri); byte [] art = retriever.getEmbeddedPicture (); retriever.release (); вернуть искусство; }
2