0

音楽ライブラリ内のすべての曲を再生するためのこのコードがあります (iTunes 経由で追加され、Apple Music からライブラリにダウンロードされます)。歌だけじゃつまらない。私は何を間違っていますか?

-(IBAction)playAllSongs:(id)sender {

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

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

2 に答える 2

1

上記の答えは機能しますが、それは回り道です。より簡単な方法:

MPMediaQuery *songs = [MPMediaQuery songsQuery];
MPMusicPlayerController *musicPlayer = [MPMusicPlayerController systemMusicPlayer];
[musicPlayer setQueueWithQuery:songs]
于 2016-10-12T04:52:18.560 に答える
0

自己解決しました

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];
于 2016-09-29T15:14:50.003 に答える