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

Était-ce utile?

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>

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top