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

本文关键字:专辑 曲目 信息 艺术家 音乐艺术 获取 Gracenote 音乐 使用 | 更新日期: 2023-09-27 18:26:07

我正在开发一个应用程序,它采用艺术家的名字并列出他/她的所有专辑标题,我正在为此尝试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);
    } 

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

您可以查看FreeDB

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

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

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

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

另请参阅以下文档:https://www.parksq.co.uk/gracenote-csharp-api(编辑为使用最新URL)