我正在尝试播放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];
它什么都不玩。我有很多歌曲标题,如果存在,我想播放它们。
我怎样才能做到这一点?
谢谢。
最佳答案
这是解决方案。播放艺术家的iPod库中的两首歌曲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];
关于objective-c - 播放iPod Library中的歌曲,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6028467/