Comment obtenir l'album Art de Last.fm Android
-
26-12-2019 - |
Question
Je fais un lecteur de musique pour Android, je souhaite fournir une fonctionnalité pour que les utilisateurs reçoivent l'album Art d'une chanson de Last.fm.
J'ai aussi ma clé API.Juste besoin d'aide pour récupérer l'image de Last.fm.
Toute aide pour obtenir l'URL d'image serait également appréciée.
Merci d'avance.
P.s: Pour plus d'informations sur mon lecteur de musique, vérifiez le lien ci-dessous https://plus.google.com/u/0/communities/115046175816530349000
La solution
J'ai trouvé une vérification de la solution ci-dessous
Ajouter le chargeur d'asynctacque ci-dessous
public class RetrieveFeedTask extends AsyncTask<String, Void, String> {
protected String doInBackground(String... urls) {
String albumArtUrl = null;
try {
XMLParser parser = new XMLParser();
String xml = parser.getXmlFromUrl(urls[0]); // getting XML from URL
Document doc = parser.getDomElement(xml);
NodeList nl = doc.getElementsByTagName("image");
for (int i = 0; i < nl.getLength(); i++) {
Element e = (Element) nl.item(i);
Log.d(LOG_TAG,"Size = " + e.getAttribute("size") + " = " + parser.getElementValue(e));
if(e.getAttribute("size").contentEquals("medium")){
albumArtUrl = parser.getElementValue(e);
}
}
} catch (Exception e) {
e.printStackTrace();
}
return albumArtUrl;
}
}
Appelez-le comme suit:
StringBuilder stringBuilder = new StringBuilder("http://ws.audioscrobbler.com/2.0/");
stringBuilder.append("?method=album.getinfo");
stringBuilder.append("&api_key=");
stringBuilder.append("YOUR_LAST_FM_API_KEY");
stringBuilder.append("&artist=" + URLEncoder.encode("ARTIST_NAME_HERE", "UTF-8"));
stringBuilder.append("&album=" + URLEncoder.encode("ALBUM_NAME_HERE", "UTF-8"));
url = new RetrieveFeedTask().execute(stringBuilder.toString()).get();
Vous avez besoin de 2 classes: 1. xmlParser 2. DOCÉMENT Tous deux seront disponibles dans le lien ci-dessous. Tutoriel d'analyse XML
Autres conseils
Veuillez voir Last.fm Web Services Docs pour album.getInfo
: http://www.last.fm / API / spectacle / album.getinfo
Voici une réponse d'échantillon, à partir de laquelle vous pouvez facilement voir comment obtenir l'URL de l'image de la couverture:
<album>
<name>Believe</name>
<artist>Cher</artist>
<id>2026126</id>
<mbid>61bf0388-b8a9-48f4-81d1-7eb02706dfb0</mbid>
<url>http://www.last.fm/music/Cher/Believe</url>
<releasedate>6 Apr 1999, 00:00</releasedate>
<image size="small">...</image>
<image size="medium">...</image>
<image size="large">...</image>
<listeners>47602</listeners>
<playcount>212991</playcount>
<toptags>
<tag>
<name>pop</name>
<url>http://www.last.fm/tag/pop</url>
</tag>
...
</toptags>
<tracks>
<track rank="1">
<name>Believe</name>
<duration>239</duration>
<mbid/>
<url>http://www.last.fm/music/Cher/_/Believe</url>
<streamable fulltrack="0">1</streamable>
<artist>
<name>Cher</name>
<mbid>bfcc6d75-a6a5-4bc6-8282-47aec8531818</mbid>
<url>http://www.last.fm/music/Cher</url>
</artist>
</track>
...
</tracks>
</album>