从Web服务检索专辑封面/图像

时间:2011-08-02 17:15:56

标签: c# web-services image mp3

我查看了以下问题:Could someone provide a C# example using itemsearch from Amazon Web Services

它已过时且不太有用。

我想要的是从给定艺术家,歌曲名称和/或专辑名称信息的专辑封面的Web服务中检索图像。

到目前为止,我正在挖掘以下网络服务,但我发现亚马逊的产品非常令人费解,我希望这样做:http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl

有没有人赢过这场战斗?有什么简单的方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:3)

我最近这样做了。我最终使用的是lastFM的API。使用起来非常简单。

这是我的完整代码,只要您下载他们的C#API并获得一个API帐户(免费用于非商业用途,即时)。 XXXXXX和YYYYYY是您的lastFM登录信息:

public class LastFmAlbumArt
{
    public static string AbsUrlOfArt(string album, string artist)
    {
        Lastfm.Services.Session session = new Lastfm.Services.Session("XXXXXX", "YYYYYY");
        Lastfm.Services.Artist lArtist = new Lastfm.Services.Artist(artist, session);
        Lastfm.Services.Album lAlbum = new Lastfm.Services.Album(lArtist, album, session);

        return lAlbum.GetImageURL();
    }

    public static Image AlbumArt(string album, string artist)
    {
        Stream stream = null;
        try
        {
            WebRequest req = WebRequest.Create(AbsUrlOfArt(album, artist));
            WebResponse response = req.GetResponse();
            stream = response.GetResponseStream();
            Image img = Image.FromStream(stream);

            return img;
        }
        catch (Exception e)
        {
            return null;
        }
        finally
        {
            if(stream != null)
                stream.Dispose();
        }
    }
}