使用歌曲标题和艺术家获取专辑名称

时间:2015-01-26 21:12:00

标签: java xml dom sax

我试图在我的节目中获得一位艺术家的专辑信息/专辑封面。 我试图通过(例如:madonna / frozen);

String urlToRead = "http://www.musicbrainz.org/ws/2/recording/?query=artist:madonna+recording:frozen";
如果有关于艺术家的可能信息,

获取专辑信息并覆盖照片。 到目前为止我一直在努力的事情;

String urlToRead = "http://www.musicbrainz.org/ws/2/recording/?query=artist:madonna+recording:frozen";
        URL url;
        HttpURLConnection conn;
        BufferedReader rd;
        String line;
        String result = "";
        try {
            url = new URL(urlToRead);
            conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("GET");
            rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
            while ((line = rd.readLine()) != null) {
                result += line;
            }
            rd.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        String  out = result;

但输出是一个巨大的字符串格式的xml文件,其中充满了与我想要的完全匹配的信息。(麦当娜的歌冻结在其中的那么多随机专辑) 还有其他简单的方法吗?如果不是,我怎么能从输出中获得准确的信息? 任何tipps?

1 个答案:

答案 0 :(得分:0)

如果您还没有:https://musicbrainz.org/doc/Development/XML_Web_Service/Version_2/Search

,请查看此内容

它包含一个字段列表,用于搜索可用于缩小搜索结果范围的字段,如果您只想检索一个结果,则包括LIMIT字段。

至于专辑封面 - 由单独的API处理 - https://musicbrainz.org/doc/Cover_Art_Archive/API - 您可以在程序中使用他们的Java绑定来获取专辑封面(https://github.com/lastfm/coverartarchive-api