Невозможно воспроизвести песню в Apple Music с помощью MPMusicPlayerController

У меня есть требование, при котором мне нужно искать и воспроизводить песни в приложении, поэтому я использую API-интерфейс поиска iTunes в своем приложении для воспроизведения песен, но не могу его воспроизвести.

Найдите параметр запроса и ответа в API поиска iTunes.

Request : https://itunes.apple.com/search?term=A+R+Rahman&entity=song&country=in&limit=1

Response : 

    {
        resultCount = 1;
        results =     (
                    {
                artistId = 3249567;
                artistName = "A. R. Rahman, Javed Ali & Mohit Chauhan";
                artistViewUrl = "https://itunes.apple.com/in/artist/a-r-rahman/id3249567?uo=4";
                collectionId = 1123241840;
                collectionViewUrl = "https://itunes.apple.com/in/album/kun-faya-kun/id1123241840?i=1123241921&uo=4";
                country = IND;
                currency = INR;
                discCount = 1;
                discNumber = 1;
                isStreamable = 1;
                kind = song;
                previewUrl = "http://audio.itunes.apple.com/apple-assets-us-std-000001/AudioPreview20/v4/00/a6/82/00a68217-deef-d90c-d63b-1fab15acb840/mzaf_8630030048415899809.plus.aac.p.m4a";
                primaryGenreName = Bollywood;
                releaseDate = "2011-09-30T07:00:00Z";
                trackCensoredName = "Kun Faya Kun";
                trackCount = 14;
                trackExplicitness = notExplicit;
                trackId = 1123241921;
                trackName = "Kun Faya Kun";
                trackNumber = 4;
                trackPrice = 15;
                trackTimeMillis = 470500;
                trackViewUrl = "https://itunes.apple.com/in/album/kun-faya-kun/id1123241840?i=1123241921&uo=4";
                wrapperType = track;
            }
        );
    }

Я использую trackId и передал его setQueueWithStoreIDs метод MPMusicPlayerController,

Примечание: я также пробовал previewUrl, trackViewUrl, collectionId и collectionViewUrl, но не добился успеха.

И я также прошел процесс проверки авторизации и возможностей устройства для воспроизведения песни Apple Music.

Пожалуйста, найдите ниже полный код.

[SKCloudServiceController requestAuthorization:^(SKCloudServiceAuthorizationStatus status) {

        if(status == SKCloudServiceAuthorizationStatusAuthorized) {

            SKCloudServiceController *cloudServiceController = [[SKCloudServiceController alloc] init];

            [cloudServiceController requestCapabilitiesWithCompletionHandler:^(SKCloudServiceCapability capabilities, NSError * _Nullable error) {

                if (capabilities == SKCloudServiceCapabilityMusicCatalogPlayback) {

                    NSLog(@"You can play the song");
                    [[MPMusicPlayerController systemMusicPlayer] setQueueWithStoreIDs:@[@"1123241921"]];
                    [[MPMusicPlayerController systemMusicPlayer] prepareToPlayWithCompletionHandler:^(NSError * _Nullable error) {

                        NSLog(@"Error : %@",error.description);
                    }];];
                }

                else {
                    NSLog(@"You did not have the capability for playing the Apple Music");
                }
            }];
        }

        else {
            NSLog(@"You do not authorize for Apple Music");
        }
    }];

Ошибка при воспроизведении песни.

Ошибка домена =MPErrorDomain Code=4 "(null)"

Пожалуйста, объясните мне, какая реализация требуется и может ли это быть выполнимо или нет.

Скачать исходный код приложения можно по ссылке ниже. https://www.dropbox.com/s/2n5110qmaqpvkdf/TestAppleMusic.zip?dl=0

0 ответов

Другие вопросы по тегам