gracenote samples page表示,当提供选项SELECT_EXTENDED=COVER
时,可以接收多个相册的数据,包括一个albumart网址(COVER_SIZE被忽略)。
我的xml请求看起来像
<QUERIES>
<AUTH>
<CLIENT>xxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</CLIENT>
<USER>xxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</USER>
</AUTH>
<LANG>ger</LANG>
<COUNTRY>deu</COUNTRY>
<QUERY CMD="ALBUM_SEARCH">
<TEXT TYPE="ARTIST">The Beatles</TEXT>
<TEXT TYPE="ALBUM_TITLE">Help</TEXT>
<RANGE>
<START>1</START>
<END>20</END>
</RANGE>
<OPTION>
<PARAMETER>SELECT_EXTENDED</PARAMETER>
<VALUE>COVER</VALUE>
</OPTION>
</QUERY>
```
我使用该范围来接收每张专辑的数据,但没有一个包含网址。 我切换到C#API并编写了一个小程序
ParkSquare.Gracenote.GracenoteClient c = new ParkSquare.Gracenote.GracenoteClient("xxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
ParkSquare.Gracenote.AlbumSearcher s=new ParkSquare.Gracenote.AlbumSearcher(c);
ParkSquare.Gracenote.SearchCriteria cr=new ParkSquare.Gracenote.SearchCriteria();
cr.AlbumTitle = "help";
cr.Artist = "the beatles";
cr.SearchOptions = ParkSquare.Gracenote.SearchOptions.Cover;
cr.SearchMode = ParkSquare.Gracenote.SearchMode.Default;
for (var ilauf = 0; ilauf < 5; ilauf++)
{
cr.Range = new ParkSquare.Gracenote.Range((ilauf * 20) + 1, (ilauf+1) * 20 );
ParkSquare.Gracenote.SearchResult sr = s.Search(cr);
foreach(var a in sr.Albums) {
Console.WriteLine( string.Format("{0} {1}",a.Title, a.Artwork.Count()) );
}
}
Console.ReadLine();
它没有显示任何专辑的albumart。 有错误吗?我错过了什么吗? API是否已更改且不再支持该功能?
答案 0 :(得分:1)
我有同样的问题。令人惊讶的是,使用MODE = SEARCH_BEST_COVER搜索封面会返回作品(当然有一个很大的缺点:结果列表只包含一个专辑)。