Не удается получить обложку при использовании GNSDK findAlbums на iOS

Возникла небольшая проблема с получением обложки при использовании findAlbums с GNSDK, но IdentifAlbumAsync работает отлично. Если вы посмотрите на пример кода iOS, то увидите, что код, который я должен перебирать возвращенные альбомы, используется так же, когда приложение использует микрофон для идентификации дорожки. Я прикрепил этот код к showTextSearch(), чтобы я мог легко его протестировать. Десять альбомов возвращаются по этому запросу.

    do
    {
        let musicID = try GnMusicId(user: gnUser, locale: gnLocale, statusEventsDelegate: self)

        let responseAlbums = try musicID.findAlbums(withAlbumTitle: "Born To Run", trackTitle: nil, albumArtistName: "Bruce Springsteen", trackArtistName: nil, composerName: nil)

        var albums:GnAlbumEnumerator
        if (responseAlbums.isKind(of: GnResponseAlbums.self))
        {
            albums = responseAlbums.albums()
        }
        else
        {
            albums = responseAlbums as! GnAlbumEnumerator
        }

        for a in albums
        {
            let album = a as! GnAlbum
            let coverArtContent = album.coverArt()
            let coverArtAsset = coverArtContent?.asset(kImageSizeSmall)

            let artistImageContent = album.artist()?.contributor()?.image()
            let artistImageAsset = artistImageContent?.asset(kImageSizeSmall);
        }
    }
    catch
    {
        print("Error")
    }

Я получаю много данных об альбомах, но не делаю обложек альбомов. Мой идентификатор конфигурации корректен для GNSDK, и, насколько мне известно, мой файл лицензии верен. Документация в лучшем случае сомнительна, так что, может быть, я что-то пропустил, но я не смог найти ничего, что говорило бы о том, почему findAlbums не будет возвращать обложку, когда IdentifAlbumAsync делает.

В любом случае для каждой итерации десяти альбомов coverArtContent и aristImageContent равны нулю. Я даже пытался быть более конкретным с trackTitle и trackArtistName безрезультатно.

Любые идеи о том, почему это будет происходить? Благодарю.

1 ответ

Ну, я разобрался с проблемой. Добавьте это после установки musicID:

        let gnMusicIdStreamOptions = musicID.options()
        try gnMusicIdStreamOptions.resultSingle(bEnable: true)
        try gnMusicIdStreamOptions.lookupData(lookupData: kLookupDataSonicData, bEnable:true)
        try gnMusicIdStreamOptions.lookupData(lookupData: kLookupDataContent, bEnable:true)
        try gnMusicIdStreamOptions.preferResultCoverart(bEnable: true)
Другие вопросы по тегам