the error is at MPMediaItem * item = [self getARandomTrack];
What am in doing wrong?
Code:
-(IBAction)playSong:(id)sender{
MPMediaItem * item = [self getARandomTrack];
MPMediaItemCollection * collection = [[MPMediaItemCollection alloc] initWithItems:[NSArray arrayWithObject:item]];
MPMusicPlayerController *myPlayer = [MPMusicPlayerController applicationMusicPlayer];
[myPlayer setQueueWithItemCollection:collection];
[collection release];
[myPlayer play];
}
[musicPlayer setQueueWithItemCollection:collection];
[collection release];
[musicPlayer play];
}
-(MPMediaItem*) getARandomTrack
{
MPMediaQuery *everything = [[MPMediaQuery alloc] init];
// Get all Media Items into an Array (Fast)
NSArray *allTracks = [everything items];
// Check we have enough Tracks for a Random Choice
if ([allTracks count] < 2)
{
return nil;
}
// Pick Random Track
int trackNumber = arc4random() % [allTracks count];
MPMediaItem *item = [allTracks objectAtIndex:trackNumber];
// Display and Return
return item;
}