在Gracenote Web API的C#包装中设置详细级别
我目前正在使用由制作的C#包装器使用Gracenote Web API,我不知道如何设置细节级别 目前Search()方法只返回流派、情绪、节奏等的一级细节,但我希望获得尽可能多的细节 当前我的代码如下所示:在Gracenote Web API的C#包装中设置详细级别,c#,gracenote,C#,Gracenote,我目前正在使用由制作的C#包装器使用Gracenote Web API,我不知道如何设置细节级别 目前Search()方法只返回流派、情绪、节奏等的一级细节,但我希望获得尽可能多的细节 当前我的代码如下所示: var gnRes = gnClient.Search(new SearchCriteria { AlbumTitle = albumName, Artist = artistName, TrackTitle = trackTitle, SearchMode
var gnRes = gnClient.Search(new SearchCriteria {
AlbumTitle = albumName,
Artist = artistName,
TrackTitle = trackTitle,
SearchMode = SearchMode.BestMatchWithCoverArt,
SearchOptions = SearchOptions.Mood | SearchOptions.Tempo | SearchOptions.ArtistOriginEraType
});
我发现SearchCriteria对象有一个ResponseDetail类,表明确实可以设置细节级别,但我不知道如何正确使用它。为包装器发布的doumentation没有提到它。我找到了如何做到这一点,并得到了我想要的响应类型
SearchCriteria searchCriteria = new SearchCriteria();
ResponseDetail detail = new ResponseDetail();
detail.GenreLevels = ResponseDetail.Level.Three;
detail.MoodLevels = ResponseDetail.Level.Two;
detail.TempoLevels = ResponseDetail.Level.Three;
detail.ArtistEraLevels = ResponseDetail.Level.Two;
detail.ArtistOriginLevels = ResponseDetail.Level.Four;
detail.ArtistTypeLevels = ResponseDetail.Level.Two;
searchCriteria.AlbumTitle = albumTitle;
searchCriteria.Artist = artistName;
searchCriteria.TrackTitle = trackTitle;
searchCriteria.SearchMode = SearchMode.BestMatch;
searchCriteria.SearchOptions = SearchOptions.Mood | SearchOptions.Tempo | SearchOptions.ArtistOriginEraType;
searchCriteria.ResponseDetail = detail;
SearchResult gnRes = gnClient.Search(searchCriteria);
我发现了如何做到这一点,并得到了我想要的响应类型
SearchCriteria searchCriteria = new SearchCriteria();
ResponseDetail detail = new ResponseDetail();
detail.GenreLevels = ResponseDetail.Level.Three;
detail.MoodLevels = ResponseDetail.Level.Two;
detail.TempoLevels = ResponseDetail.Level.Three;
detail.ArtistEraLevels = ResponseDetail.Level.Two;
detail.ArtistOriginLevels = ResponseDetail.Level.Four;
detail.ArtistTypeLevels = ResponseDetail.Level.Two;
searchCriteria.AlbumTitle = albumTitle;
searchCriteria.Artist = artistName;
searchCriteria.TrackTitle = trackTitle;
searchCriteria.SearchMode = SearchMode.BestMatch;
searchCriteria.SearchOptions = SearchOptions.Mood | SearchOptions.Tempo | SearchOptions.ArtistOriginEraType;
searchCriteria.ResponseDetail = detail;
SearchResult gnRes = gnClient.Search(searchCriteria);