首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从last.fm Android获取专辑艺术

如何从last.fm Android获取专辑艺术
EN

Stack Overflow用户
提问于 2014-04-14 11:44:56
回答 2查看 5.6K关注 0票数 0

我正在为安卓制作一个音乐播放器,我想为用户提供从last.fm获得专辑艺术的功能。

我也有我的API密钥。只需要帮助从Last.fm检索图像。

任何帮助获得图像url也将不胜感激。

提前谢谢。

关于我的音乐播放器的更多信息,请访问https://plus.google.com/u/0/communities/115046175816530349000下面的链接

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-28 09:53:40

我在下面找到了解决方案检查

添加下面的AsyncTask加载程序

代码语言:javascript
复制
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;
    }
}

如下所示:

代码语言:javascript
复制
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();

您需要两个类:1.XmlParser 2. DocElement,这两个类都可以在下面的链接中获得。Xml解析教程

票数 8
EN

Stack Overflow用户

发布于 2014-04-14 11:59:22

请参阅Last.fm Web服务文档中的album.getInfohttp://www.last.fm/api/show/album.getInfo

下面是一个示例响应,从中您可以很容易地看到如何获取艺术图片url:

代码语言:javascript
复制
<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>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23059258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档