Воспроизведение песен из iPod Library - PullRequest
1 голос
/ 17 мая 2011

Я пытаюсь воспроизвести пару песен из библиотеки iPod. Я могу сыграть одну песню, используя этот код:

MPMusicPlayerController *musicPlayer = [MPMusicPlayerController applicationMusicPlayer];
MPMediaPropertyPredicate *artist = [MPMediaPropertyPredicate predicateWithValue:@"Poker Face" forProperty:MPMediaItemPropertyTitle];

MPMediaQuery *myArtistQuery = [[MPMediaQuery alloc] init];
[myArtistQuery addFilterPredicate:artist];

[musicPlayer setQueueWithQuery:myArtistQuery];
[musicPlayer play];

Играет одна песня "Poker Face", когда я добавляю к предыдущему коду

MPMediaPropertyPredicate *artist1 = [MPMediaPropertyPredicate predicateWithValue:@"Born This Way" forProperty:MPMediaItemPropertyTitle]

[myArtistQuery addFilterPredicate:artist1]; 

Ничего не играет. У меня есть множество названий песен, и я хочу сыграть их, если они существуют.

Как я могу это сделать?

Спасибо.

1 Ответ

7 голосов
/ 17 мая 2011

Вот решение. Воспроизведение двух песен из библиотеки iPod исполнителя

</p>

<code>MPMusicPlayerController *musicPlayer = [MPMusicPlayerController applicationMusicPlayer];
MPMediaQuery *everything = [[MPMediaQuery alloc] init];

MPMediaPropertyPredicate *artist = [MPMediaPropertyPredicate predicateWithValue:@"AC/DC" forProperty:MPMediaItemPropertyArtist];
[everything addFilterPredicate:artist];
NSArray *itemsFromGenericQuery = [everything items]; 

NSMutableArray *array = [[NSMutableArray alloc] init];
for (MPMediaItem *song in itemsFromGenericQuery) {
    NSString *songTitle = [song valueForProperty: MPMediaItemPropertyTitle]; 
    if ([songTitle isEqualToString:@"Highway to Hell"]) {
        NSLog (@"%@", songTitle);
        [array addObject:song];
    }
    if ([songTitle isEqualToString:@"Thunderstruck"]) {
        NSLog (@"%@", songTitle);
        [array addObject:song];
    }

}

MPMediaItemCollection *collection = [[MPMediaItemCollection alloc] initWithItems:array];
[musicPlayer setQueueWithItemCollection:collection];
//    NSLog(@"%@", [[MPMediaQuery songsQuery].items );
[musicPlayer play];
</code>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...