2016-09-27 3 views
0

J'ai ce code pour lire toutes les chansons dans la bibliothèque musicale (ajouté via iTunes et téléchargé dans la bibliothèque d'Apple Music). Je ne peux pas avoir juste les chansons. Qu'est-ce que je fais mal?Lire toutes les chansons en musique

-(IBAction)playAllSongs:(id)sender { 

    MPMediaQuery *songsQuery = [MPMediaQuery songsQuery]; 
    NSArray *songsArray = [songsQuery collections]; 

    MPMediaItemCollection *items = [MPMediaItemCollection collectionWithItems:songsArray]; 
    MPMusicPlayerController *musicPlayer = [MPMusicPlayerController systemMusicPlayer]; 
    [musicPlayer setQueueWithItemCollection:items]; 
} 
+0

Y a-t-il un problème que vous rencontrez juste effacer votre question ..? – vaibhav

+0

mon code retourner tous les éléments de médias (pdf, epub, vidéo, chansons, etc.) mais pas seulement des chansons. – Joannes

+0

montrer votre tableau, les données que vous obtenez .. – vaibhav

Répondre

0

Je résolu mon auto

MPMediaQuery *songsQuery = [MPMediaQuery songsQuery]; 
NSArray *songsArray = [songsQuery items]; 

MPMediaItemCollection *items = [MPMediaItemCollection collectionWithItems:songsArray]; 
MPMusicPlayerController *musicPlayer = [MPMusicPlayerController systemMusicPlayer]; 

//[songsQuery addFilterPredicate:[MPMediaPropertyPredicate predicateWithValue:[NSNumber numberWithBool:NO] forProperty:MPMediaItemPropertyIsCloudItem]]; // for iTunes Match or Apple music to exclude or not songs not in the device 

[musicPlayer setQueueWithItemCollection:items]; 
1

Les travaux de réponse ci-dessus, mais il est une façon détournée de le faire. Un moyen plus simple:

MPMediaQuery *songs = [MPMediaQuery songsQuery]; 
MPMusicPlayerController *musicPlayer = [MPMusicPlayerController systemMusicPlayer]; 
[musicPlayer setQueueWithQuery:songs]