J'essaie de faire une application de lecteur de musique.Comment extraire songart (AlbumArt) de la mémoire interne et externe de l'appareil?
Je veux une liste avec une image de la chanson et le nom de la chanson et de l'artiste.
Quelque chose comme ça.
J'ai compris le songName et songtitle en utilisant le contenu du résolveur, mais je ne sais pas comment afficher l'art respectif de cette chanson.
Voici ma ListSong.java qui est utilisée pour récupérer des chansons de l'appareil.
public class ListSong extends Fragment {
private ArrayList<Song> songList;
private ListView songView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.listsongs, container, false);
songView = (ListView)rootView.findViewById(R.id.songsList);
songList = new ArrayList<Song>();
getSongList();
SongAdapter songAdt = new SongAdapter(getActivity(), songList);
songView.setAdapter(songAdt);
return rootView;
}
public void getSongList(){
ContentResolver musicResolver = getActivity().getContentResolver();
Uri musicUri = android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
Cursor musicCursor = musicResolver.query(musicUri, null, null, null, null);
if(musicCursor!=null && musicCursor.moveToFirst()){
//get columns
int titleColumn = musicCursor.getColumnIndex
(android.provider.MediaStore.Audio.Media.TITLE);
int idColumn = musicCursor.getColumnIndex
(android.provider.MediaStore.Audio.Media._ID);
int artistColumn = musicCursor.getColumnIndex
(android.provider.MediaStore.Audio.Media.ARTIST);
//add songs to list
do {
long thisId = musicCursor.getLong(idColumn);
String thisTitle = musicCursor.getString(titleColumn);
String thisArtist = musicCursor.getString(artistColumn);
songList.add(new Song(thisId, thisTitle, thisArtist));
}
while (musicCursor.moveToNext());
}
}
}
Un voici mon SongInfo (Song.java) Classe
public class Song {
private long id;
private String title;
private String artist;
public Song(long songID, String songTitle, String songArtist) {
this.id = songID;
this.title = songTitle;
this.artist = songArtist;
}
public long getID(){return id;}
public String getTitle(){return title;}
public String getArtist(){return artist;}
}
Je veux juste s'il y a un moyen de chercher songart respectifs à leurs chansons.
Dois-je modifier également la classe chanson car il stocke la chanson info. –
Oui, vous devez modifier votre classe de bean en ajoutant un nouveau paramètre. – Gaurav
Hey Désolé de déranger, mais je suis un débutant dans ce domaine, pouvez-vous juste écrire le code pour le Content Resolver et la classe Song comme je l'ai écrit dans ma question, Si vous avez le temps. –