使用Gracenote获取有关音乐艺术家,专辑和曲目的信息

时间:2014-10-08 20:00:04

标签: c# gracenote

我正在开发一个应用程序,它取得艺术家的名字并列出他/她的所有专辑名称,我正在尝试Gracenote,但是,问题是当我检索前100张专辑时,它说:

  

错误 - GCSP:搜索错误:[22]搜索:无效范围START = 101:只能访问前100个结果

如何获得艺术家的所有歌曲和专辑标题?

    int i = 1;
    int j = 20;
    try
    {
        SearchResult gcSearch;
        do
        {
            var gcClient = new GracenoteClient(GracenoteClientId);
            var criteria = new SearchCriteria
            {
                Artist = "Adele",
                SearchMode = SearchMode.Default,
                Range = new Range(i, j)
            };

            gcSearch = gcClient.Search(criteria);
            foreach (Album album in gcSearch.Albums)
            {
                _tempList.Add(album);
            }
            i = j + 1;
            j = j + 20;
        } while (j < gcSearch.Count);
    } 

3 个答案:

答案 0 :(得分:0)

几乎可以肯定这是API限制。如果它是一个不同的数字,也许它将是别的东西。但每次100?这是他们的行为。

答案 1 :(得分:0)

您可以查看 FreeDB

这是另一个音乐元数据数据库;它是CDDB的开放版本。它是为了响应Escient的行动而形成的,Escient通过其子公司 Gracenote 购买了CDDB的权利并限制了对数据的访问。

答案 2 :(得分:-1)

这可能是Gracenote对免费帐户施加的限制,但您是否尝试过使用分页机制?

    var k = client.Search(new SearchCriteria 
       {Artist = "Guns 'n' Roses", Range = new Range(1, 500)};

另见文档:https://www.parksq.co.uk/nuget/gracenote