Pregunta

Estoy creando un reproductor de música para Android. Quiero ofrecer una función para que los usuarios obtengan la carátula del álbum de una canción de last.fm.

También tengo mi clave API.Solo necesito ayuda para recuperar la imagen de Last.fm.

También se agradecería cualquier ayuda para obtener la URL de la imagen.

Gracias de antemano.

PD:Para obtener más información sobre mi reproductor de música, consulte el siguiente enlacehttps://plus.google.com/u/0/communities/115046175816530349000

¿Fue útil?

Solución

Encontré un cheque de solución a continuación

Añadir la siguiente cargadora de asintsetw

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;
    }
}

Llámalo según lo siguió:

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();

Necesitas 2 clases: 1. XMLPARSER 2. Docelement Ambos estarán disponibles en el enlace a continuación. Tutorial de análisis XML

Otros consejos

Consulte los documentos de servicios web de Last.fm para album.getInfo: http://www.last.fm/api/show/album.getInfo
A continuación se muestra una respuesta de ejemplo, en la que puede ver fácilmente cómo obtener la URL de la imagen de portada:

<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>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top