Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Finally I found the solution:</p> <p>SAVE:</p> <pre><code> - (void) mediaPicker: (MPMediaPickerController *) mediaPicker didPickMediaItems: (MPMediaItemCollection *) mediaItemCollection { [self savePlaylist:mediaItemCollection]; [self dismissModalViewControllerAnimated: YES]; } - (void)savePlaylist:(MPMediaItemCollection *) mediaItemCollection { NSArray* items = [mediaItemCollection items]; NSMutableArray* listToSave = [[NSMutableArray alloc] initWithCapacity:0]; for (MPMediaItem *song in items) { NSNumber *persistentId = [song valueForProperty:MPMediaItemPropertyPersistentID]; [listToSave addObject:persistentId]; } NSData *data = [NSKeyedArchiver archivedDataWithRootObject: listToSave]; [[NSUserDefaults standardUserDefaults] setObject:data forKey:@"songsList"]; [[NSUserDefaults standardUserDefaults] synchronize]; [listToSave release]; } </code></pre> <p>LOAD</p> <pre><code>- (void)setupMusic { myPlayer = [MPMusicPlayerController applicationMusicPlayer]; if ([[NSUserDefaults standardUserDefaults] objectForKey:@"songsList"] != nil) { NSMutableArray *theList = [[NSMutableArray alloc] initWithCapacity:0]; NSData *data = [[NSUserDefaults standardUserDefaults] objectForKey:@"songsList"]; NSArray *decodedData = [NSKeyedUnarchiver unarchiveObjectWithData:data]; [theList addObjectsFromArray:decodedData]; NSMutableArray *allTheSongs = [[NSMutableArray alloc] initWithCapacity:0]; for (int i = 0; i &lt; [theList count]; i++) { MPMediaQuery *songQuery = [MPMediaQuery songsQuery]; [songQuery addFilterPredicate:[MPMediaPropertyPredicate predicateWithValue:[theList objectAtIndex:i] forProperty:MPMediaItemPropertyPersistentID]]; NSArray *songs = [songQuery items]; [allTheSongs addObjectsFromArray: songs]; } MPMediaItemCollection *currentQueue = [[MPMediaItemCollection alloc] initWithItems:allTheSongs]; [myPlayer setQueueWithItemCollection:currentQueue]; [theList release]; [currentQueue release]; [allTheSongs release]; } else { [myPlayer setQueueWithQuery: [MPMediaQuery songsQuery]]; [myPlayer setShuffleMode: MPMusicShuffleModeSongs]; //optional } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload