在Gracenote Web API的C#包装中设置详细级别

在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

我目前正在使用由制作的C#包装器使用Gracenote Web API,我不知道如何设置细节级别

目前Search()方法只返回流派、情绪、节奏等的一级细节,但我希望获得尽可能多的细节

当前我的代码如下所示:

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);