2014-10-08 138 views
0

我正在开发一个应用程序,其中需要艺术家的名字并列出他/她的所有专辑标题,我正在尝试Gracenote for this,但是,问题是当我检索它说:使用Gracenote获取有关音乐艺术家,专辑和曲目的信息

ERROR - GCSP: Search error: [22] search: Invalid range START=101: only the first 100 results can be accessed

我怎样才能得到一个艺术家的所有歌曲和专辑标题?

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); 
    } 
+1

听起来像是他们的API的限制。你有没有联系gracenote?也许你需要付费才能收到超过100条记录? – paqogomez 2014-10-08 20:01:33

+0

不,我还没有..我会尽快做到这一点,但是,你可以建议我比gracenote有更好的解决方案吗? – 2014-10-08 20:08:33

+0

我不能,他们是那个领域的大男孩。我过去曾与musicbrainz合作过,但我不确定他们目前的状态。 – paqogomez 2014-10-08 20:24:12

回答

0

你可以看看FreeDB

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

0

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

+0

是的,每次100,你能建议我比gracenote更好的解决方案吗? – 2014-10-08 20:36:48

相关问题